当$ bgd_color传递-1时,php gd imagerotate失败

时间:2014-07-09 00:46:21

标签: php gd

我在客户端服务器上遇到此问题

$tmp = imagerotate($tmp, $angle, -1);

$ tmp => bool(false)没有显示错误消息

$tmp = imagerotate($tmp, $angle, imagecolorallocatealpha($tmp, 0, 0, 0 , 127));

这很好用 $ tmp => resource(89) of type (gd)

应该更改哪个服务器配置变量以使-1工作?

GD Version: bundled (2.1.0 compatible)
libPNG Version: 1.2.44

1 个答案:

答案 0 :(得分:5)

"应该更改哪个服务器配置变量以使-1工作?"

没有服务器配置变量使这项工作。我遇到了和你一样的问题(在使用第三方库的时候),并发现那些传入-1的人非常幸运,它确实有效。基于我的研究,我相信发生的事情是一个人使用它,它工作,并且代码被复制到各种项目中而没有真正理解它的功能。我这样说是因为我在各个项目中都看到了相同的代码,包括注释。

gd库的更高版本改变了一些行为,打破了传递-1作为背景颜色的人的imagerotate函数。

无论如何,解决方案是使用imagecolorallocatealpha添加透明"颜色"到图像调色板,并将该颜色作为背景颜色传递给imagerotate。你的解决方案:$tmp = imagerotate($tmp, $angle, imagecolorallocatealpha($tmp, 0, 0, 0 , 127));应该没问题。