1

フォーム経由でアップロードされたものに基づいて、mySQL db の内容に基づいて画像を作成する次のコードがあります。

if($bg_img){
        list($img_width, $img_height, $img_type, $img_attr) = getimagesize('./images/'.$bg_img);
    }
    // Use image in background
    $im = imagecreatefrompng(IS_DIR."/images/".$bg_img);

    $fn = rgb2array($font_color);       
    $font_color = imagecolorallocate($im, $fn[0], $fn[1], $fn[2]);

これにより、画像が作成され、フォントの色が割り当てられ、コードの後半でテキストが追加されます。すべて正常に機能します。

しかし、奇妙な問題があります。私は2つの8ビットPNGを持っています。そのうちの 1 つはプレーンなグレーの色で、もう 1 つは実際にロゴが入ったグラフィック イメージです。基本的なものを使用すると、テキストは $font_color (DB から取得) で定義した色を問題なく使用します。よりグラフィカルなものを使用すると、色が正しくなく、imagecollorallocate が RGB 値のセットを返さないようです。

特定の種類の PNG で行う必要があることはありますか?

4

0 に答える 0