2011-07-05 10 views
2

を返します。PHP。 Imagecolorallocateは、私はいくつかのコードを使用して偽の

$colors = array(); 
$colors['test'] = imagecolorallocate($img, 0 ,1 ,2); 
.... 

私はそのimagecolorallocateimagecolorallocatealphaリターンfalse
$imgした後、他の
に画像を変更するまで、それが動作すなわちimagepngが正しく

それを印刷し、正しいイメージでありますimagecolorallocateの作品を作成するには?この機能のマニュアルの

+2

アイデンティティ演算子( '===')で 'false'をチェックしていますか? – Jon

+0

私はvar_dump($ colors); die();を使います。 – RiaD

+1

'imagecolorallocate'にはどのようなイメージがありますか? 8ビットイメージですか? –

答えて

1

コメント:

あなたも、それはあなたがそれを が原因であなたのイメージカラー アロケーションテーブルのものであってもよいしたい色を割り当てない のだ状況であれば。 GIFと8ビットPNG イメージはこれに非常に敏感です。

GIFとPNGを使用している場合は テーブルから色を削除してください。 は別のものを割り当てることができます。

インデックス付きイメージ(8ビット以下)のソースイメージに追加の色があることを確認します。例えば。 8ビットイメージはパレットから256色すべてを使用していない可能性があります。その場合、関数は成功するはずです。

編集

私はあなたの画像を見て、それがすべての256色を使用していますInfactは8ビットのPNG画像です。それをトゥルーカラー画像に変換してみてください(Photoshopまたはimagecreatetruecolor()で作成したGD画像に画像をコピーしてください)。すべての編集を行い、次にGIFとして保存します。

+0

ありがとうございます今やれ。 – RiaD

+0

これは機能しました。ありがとう – RiaD

関連する問題