[英]php gd imagerotate fails when -1 is passed for $bgd_color
我在客戶端服務器上遇到此問題
$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工作?”
沒有服務器配置變量可以使其工作。 我遇到了和你一樣的問題(在使用第三方庫的時候),並發現那些傳入-1的人非常幸運,它確實有效。 基於我的研究,我相信發生的事情是一個人使用它,它工作,並且代碼被復制到各種項目中,而沒有真正理解它的功能。 我這樣說是因為我在各個項目中都看到了相同的代碼,包括注釋。
更高版本的gd庫改變了一些行為,打破了傳遞-1作為背景顏色的人的imagerotate
函數。
無論如何,解決方案是使用imagecolorallocatealpha
為圖像調色板添加透明的“顏色”,並將該顏色作為背景顏色傳遞給imagerotate
。 你的解決方案: $tmp = imagerotate($tmp, $angle, imagecolorallocatealpha($tmp, 0, 0, 0 , 127));
應該沒問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.