自分用のお土産

次のような使い方をして、imagecolorallocate関数でエラー(FALSE)が発生します。

$img_new = imagecreatefromgif('xxx.gif');
i$red=imagecolorallocate($img_new, 255, 0, 0 );
        ↑
      ここでエラー

gifファイルの種類でエラーにならないものなるものがある状態です。

エラーになるものは、色数が256色使っているもので、エラーにならないものは255色以下を利用しているファイルのようなのですが、この場合の対処方法はあるでしょうか?

説明がうまくいかず申し訳ありませんが、どなたか助けてください。
よろしくお願いします。

A 回答 (1件)

>色数が256色使っている



新しい色をパレットに追加しようとすれば色数制限に引っかかりますよね(パレットに空きがない)。

マニュアルのNoteのようにgif読込み → png出力 → 出力したpngを読込してあとはpngにしてしまうしかないのでは(256色超えるならどのみちgifで書き込めないし)。

http://php.net/manual/ja/function.imagecolorallo …
    • good
    • 0
この回答へのお礼

imagecolorallocate関数を少し誤解していたようです。

パレットの追加はされないんだと思っていました。

解決しました。
ありがとうございました。

お礼日時:2014/12/17 15:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!