Php 在不损失质量和透明度的情况下调整PNG大小
我必须调整图像大小,因为我们上传可打印的高分辨率图像,而预览时人们不需要4000px+的图像。一些图像使用rgb颜色空间eci,另一些图像使用颜色空间srgb。srgb文件没有任何问题,但是eci看起来比以前有点无色。当我上传一个透明的图像时,它不是完全透明的。有什么解决办法吗?当我调整大小和它的png图像,我使用以下额外的功能Php 在不损失质量和透明度的情况下调整PNG大小,php,gdlib,Php,Gdlib,我必须调整图像大小,因为我们上传可打印的高分辨率图像,而预览时人们不需要4000px+的图像。一些图像使用rgb颜色空间eci,另一些图像使用颜色空间srgb。srgb文件没有任何问题,但是eci看起来比以前有点无色。当我上传一个透明的图像时,它不是完全透明的。有什么解决办法吗?当我调整大小和它的png图像,我使用以下额外的功能 private function imagetranstowhite($trans) { // Create a new true color image wi
private function imagetranstowhite($trans) {
// Create a new true color image with the same size
$w = imagesx($trans);
$h = imagesy($trans);
$white = imagecreatetruecolor($w, $h);
// Fill the new image with white background
$bg = imagecolorallocate($white, 255, 255, 255);
imagefill($white, 0, 0, $bg);
// Copy original transparent image onto the new image
imagecopy($white, $trans, 0, 0, 0, 0, $w, $h);
return $white;
}
有人有解决办法吗?Imagemagick代替gdlib也不错。实际上,不要使PNG变大。取而代之的是,一开始你需要一个大的PNG分辨率,然后根据需要缩小它。这样你就可以在PNG上保持分辨率,从此以后再也不用乱弄了。这是最快、最简单、最好的解决方案 实际上,不要把PNG弄大。取而代之的是,一开始你需要一个大的PNG分辨率,然后根据需要缩小它。这样你就可以在PNG上保持分辨率,从此以后再也不用乱弄了。这是最快、最简单、最好的解决方案 适用于将来有同样问题的人。我通过停止使用imagegd并切换到。所有图像仍然是透明的,您可以轻松地将cmyk图像转换为具有正确ICC配置文件的sRGB,以供将来有相同问题的人使用。我通过停止使用imagegd并切换到。所有图像仍然是透明的,您可以使用正确的ICC配置文件轻松地将cmyk图像转换为sRGB