現在、私は最低品質の透明なpngを作成したいと思います。PHPを使用して透明なpngファイルを作成する
コード:
<?php
function createImg ($src, $dst, $width, $height, $quality) {
$newImage = imagecreatetruecolor($width,$height);
$source = imagecreatefrompng($src); //imagecreatefrompng() returns an image identifier representing the image obtained from the given filename.
imagecopyresampled($newImage,$source,0,0,0,0,$width,$height,$width,$height);
imagepng($newImage,$dst,$quality); //imagepng() creates a PNG file from the given image.
return $dst;
}
createImg ('test.png','test.png','1920','1080','1');
?>
しかし、いくつかの問題があります。
は、私はすべての新しいファイルを作成する前に、特定のPNGファイルに必要ですか?または、既存のpngファイルを作成せずに作成できますか?
警告:imagecreatefrompng(test.pngは):
Cでそのようなファイルまたはディレクトリ:ストリームをオープンに失敗しない\ DSPadmin \ DEV \ ajax_optipng1.5 \ create.phpをライン上に4
エラーメッセージがありますが、それでもpngファイルが生成されますが、ファイルが黒色の画像であることが判明しました。透明にするためには、パラメータを指定する必要がありますか?
ありがとう。
ありがとうございました! PNGファイルのサイズを最小限に抑える方法を教えていただけますか?imagepng機能の '9'の設定は私ができる唯一のものですか?ありがとうございます – user782104
'imagepng'のデフォルトの" quality "設定(' png'圧縮はロスレスですので、compressionsという名前にする必要があります)は9です(afaik、設定済みの品質(234 'Bytes')、品質0 100KB)と9(234Bytes)の設定)を有する。だから私はこれがGDができる最高のものだと思う。 –
これは私の黒い線が消えるようにする –