我有麻烦调整一个PNG,保持小的文件大小。 解决方案在这里找到 。
当调整的PNG,然而,我遇到的有关图像质量的问题。 至于我可以看到,GD使用索引的8位色调色板歪曲文本和颜色迷路,请参阅:
- 原始图像
- 与溶液调整大小的图像上面给出
- 尺寸调整的图像与tweak²
²The想法的好办法,我发现这里的计算器 :创建真彩图像,调整其大小,并将其复制到一个新的形象,所以调色板是基于重采样结果,确定与图像质量更好,因为你可以在看图像以上 。
// create new image
$newImageTmp = imagecreatetruecolor($newwidth,$newheight);
// we create a temporary truecolor image
// do the image resizing by copying from the original into $newImageTmp image
imagecopyresampled($newImageTmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
// create output image
$newImage = imagecreate($newwidth,$newheight);
// copy resized truecolor image onto index-color image
imagecopy($newImage,$newImageTmp,0,0,0,0,$newwidth,$newheight);
// write image to buffer and save in variable
ob_start(); // stdout --> buffer
imagepng($newImage,NULL,6);
$newImageToSave = ob_get_contents(); // store stdout in $newImageToSave
ob_end_clean(); // clear buffer
// remove images from php buffer
imagedestroy($src);
imagedestroy($newImageTmp);
imagedestroy($newImage);
问题:这两种结果都不是令人满意的。
我敢肯定,必须有办法1.确定调色板,和2维持大部分图像的颜色,使3. PNG类似于原始的和具有可接受的文件大小。
现在,我只看到去为JPG,而不是PNG。 但如果你知道一个解决方案,这将极大地意识到,如果你让我/我们知道。
谢谢!