Ron*_*Ron 5 php compression image image-compression
我正在寻找一个可以降低所有图像类型质量的库(PNG,GIF和JPEG).
我知道我可以减少JPEG使用imagejpeg()
我也知道我可以减少使用PNG imagepng()
虽然这不够强大.
我需要能够在不删除alpha的情况下将PNG 24转换为PNG8的东西.
无法使用ImageMagick,因为我无法在我的服务器上安装任何东西.
编辑:
我还需要一些可以从32位转换为8位的东西(我很确定它与32位相同)
在这里找到了灵魂
谢谢
要将任何PNG图像转换为8位PNG,请使用此功能,我刚创建
function convertPNGto8bitPNG()
function convertPNGto8bitPNG($sourcePath, $destPath) {
$srcimage = imagecreatefrompng($sourcePath);
list($width, $height) = getimagesize($sourcePath);
$img = imagecreatetruecolor($width, $height);
$bga = imagecolorallocatealpha($img, 0, 0, 0, 127);
imagecolortransparent($img, $bga);
imagefill($img, 0, 0, $bga);
imagecopy($img, $srcimage, 0, 0, 0, 0, $width, $height);
imagetruecolortopalette($img, false, 255);
imagesavealpha($img, true);
imagepng($img, $destPath);
imagedestroy($img);
}
Run Code Online (Sandbox Code Playgroud)
参数
$ sourcePath - 源PNG文件的路径$ destPath - 目标PNG文件的路径用法
convertPNGto8bitPNG('pfc.png', 'pfc8bit.png');
Run Code Online (Sandbox Code Playgroud)