c-用PHP压缩PNG文件


c - Compress PNG files in PHP

我正在生成PHP扩展名为cairo的PNG文件。图像包含背景和文本。现在,我想在cairo生成这些图像后,用PHP压缩这些图像。有图书馆可以做这件事吗?

我找到pngcrush工具。但这是一个命令行工具。我不想调用system调用。如果没有PHP解决方案,C解决方案就可以了。在这种情况下,我会做一个PHP扩展。

我读过这个相关的问题。但是没有答案。

您可以使用imagepng()。。。

//If you don't already have a handle to the image and it's just on the file system...
$im = imagecreatefrompng("yourGenerateFile.png");
$quality = 5; //0 - 9 (0= no compression, 9 = high compression)
imagepng($im, 'file/to/save.png', $quality);  //leave out filename if you want it to output to the buffer
imagedestroy($im);

我来看看PngOptimizer。您可以在页面底部获取它的源代码,它也有一个单独的CLI版本。

唯一的问题是源代码是C++,而不是ANSI C。我从来没有做过PHP扩展,所以我不知道它是否有什么不同。

对于C代码,请查看ImageMagick。看起来还有一个PHP扩展。