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

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

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

$tmp => bool(false),未显示错误消息

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

这很好用
$tmp =>资源(89)类型(gd)

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

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

解决方法:

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

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

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

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

上一篇:使用php生成图像,背景颜色总是错误


下一篇:MP4视频缩略图使用php GD创建