をpngのトゥルーカラー対パレットを自動検出することができますどのように私は次のコードは、常にパレットの画像を生成するGDマニュアルで説明したように
$image = GD::Image->newFromPngData($mydata);
以下は、トゥルーカラー画像を生成するが:
$image = GD::Image->newFromPngData($mydata,1);
しかし、
「8ビットカラーマップpng」はパレットを使用しますが、「8ビット/カラーRGB png」ファイルはtruecolorを使用してください。
私はこれをデフォルトにすることを期待しましたが、そうではありません。
私はlibgdマニュアルにこれが可能であるというヒントを見つけられませんでした。おそらくpngヘッダから情報を手動で読み取ることによって、データ自体からこの情報を抽出することは可能でしょうか?ここでは、これはより明確にする
は何かを自動検出していないいくつかのコードの例です:
#!/usr/bin/perl
use GD;
$image = GD::Image->newFromPng($ARGV[0]);
if ($image->isTrueColor()) {
print "truecolor\n";
} else {
print "indexed\n";
}