php图像操作破坏图像内的文本

时间:2016-05-13 07:42:24

标签: php html image php-gd

我有一个html表单,它将一个图像的base64字符串提交给php。 php脚本base64解码字符串,使用imagecreatefromstring()获取图像资源,然后将资源保存到png文件。当我打开保存的文件时,我发现该文件与我上传的图像不同。只要图像中有文本,该部分就会显示为填充颜色的矩形。附加上传的图像版本并保存图像。我安装了最新版本的php(v7),以及在ubuntu 16.04 LTS上运行的最新版php-gd库。我无法弄清楚这个问题。请帮忙。

我想上传的图片

image i am trying to upload

由php保存的图片

image which was saved by php

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。在调用imagepng()将图像资源保存到文件之前,我必须调用2个函数:imageAlphaBlending()imageSaveAlpha()以保持图像的透明度。我早期的代码曾经使用过PHP 5.5,但可能会在php 7中进行更改。