在 PHP 中,使用 imagecreatefrompng 函数创建图像时,可以通过以下方法提高图像质量:
$source = imagecreatefrompng('source.png');
$destination = imagecreatetruecolor(800, 600);
imagecopyresampled($destination, $source, 0, 0, 0, 0, 800, 600, imagesx($source), imagesy($source));
imagepng($destination, 'destination.png', 9); // 9 是 PNG 格式的压缩质量,范围为 0(最差质量,最小文件大小)到 9(最佳质量,最大文件大小)
imagedestroy($source);
imagedestroy($destination);
$source = imagecreatefrompng('source.png');
$destination = imagecreatetruecolor(800, 600);
imagealphablending($destination, false);
imagesavealpha($destination, true);
$transparent = imagecolorallocatealpha($destination, 255, 255, 255, 127);
imagefilledrectangle($destination, 0, 0, 800, 600, $transparent);
imagecopyresampled($destination, $source, 0, 0, 0, 0, 800, 600, imagesx($source), imagesy($source));
header('Content-type: image/png');
imagepng($destination);
imagedestroy($source);
imagedestroy($destination);
$source = imagecreatefrompng('source.png');
$destination = imagecreatetruecolor(800, 600);
imagecopyresampled($destination, $source, 0, 0, 0, 0, 800, 600, imagesx($source), imagesy($source));
imagepng($destination, 'destination.png', 9); // 9 是 PNG 格式的压缩质量,范围为 0(最差质量,最小文件大小)到 9(最佳质量,最大文件大小)
imagedestroy($source);
imagedestroy($destination);
通过以上方法,可以在使用 imagecreatefrompng 函数时提高图像质量。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: PHP反序列化要注意哪些问题