PHP:将png和gif转换为灰度

我使用以下脚本将jpg转换为灰度图像.
http://bubble.ro/How_to_convert_an_image_to_grayscale_using_PHP.html

我想对其进行升级,以将png(具有透明性)和gif(具有透明性)也转换为灰度图像.

目前无法正常运作.我正在查询image-src的文件扩展名.如果是jpg,if,gif或png,我会调用适当的imagecreatefrom-jpg-gif-png

但是我一直在运行相同的for循环,不幸的是gif仅得到灰色矩形,每个像素都是灰色. Png几乎可以正常工作,但是PNG中的透明性被转换为黑色.

有任何想法吗?

解决方法:

$image = ImageCreateFromString(file_get_contents('/path/to/image.ext'));

ImageFilter($image, IMG_FILTER_GRAYSCALE);

ImageGIF($image); // or ImagePNG($image);
上一篇:Hi3531a海思logo加载的实现流程


下一篇:c#-如何提高使用Ghostscript从PDF生成的JPEG图像的质量?