我有一个html表单,它将一个图像的base64字符串提交给php。 php脚本base64解码字符串,使用imagecreatefromstring()
获取图像资源,然后将资源保存到png
文件。当我打开保存的文件时,我发现该文件与我上传的图像不同。只要图像中有文本,该部分就会显示为填充颜色的矩形。附加上传的图像版本并保存图像。我安装了最新版本的php(v7),以及在ubuntu 16.04 LTS上运行的最新版php-gd库。我无法弄清楚这个问题。请帮忙。
我想上传的图片
由php保存的图片
答案 0 :(得分:0)
我找到了解决方案。在调用imagepng()
将图像资源保存到文件之前,我必须调用2个函数:imageAlphaBlending()
和imageSaveAlpha()
以保持图像的透明度。我早期的代码曾经使用过PHP 5.5,但可能会在php 7中进行更改。