我在客户端服务器上遇到此问题
$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
答案 0 :(得分:5)
"应该更改哪个服务器配置变量以使-1工作?"
没有服务器配置变量使这项工作。我遇到了和你一样的问题(在使用第三方库的时候),并发现那些传入-1的人非常幸运,它确实有效。基于我的研究,我相信发生的事情是一个人使用它,它工作,并且代码被复制到各种项目中而没有真正理解它的功能。我这样说是因为我在各个项目中都看到了相同的代码,包括注释。
gd库的更高版本改变了一些行为,打破了传递-1作为背景颜色的人的imagerotate
函数。
无论如何,解决方案是使用imagecolorallocatealpha
添加透明"颜色"到图像调色板,并将该颜色作为背景颜色传递给imagerotate
。你的解决方案:$tmp = imagerotate($tmp, $angle, imagecolorallocatealpha($tmp, 0, 0, 0 , 127));
应该没问题。