目前我想创建一个质量最低的透明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'默认的“质量”设置(应该命名为压缩,因为'png的压缩是无损的)是9(afaik,我测试没有设置质量(234'Bytes'),质量为0百KB')和设置9(234字节))。所以我想这是GD能做的最好的。 –
这使我的黑线消失 –