簡體   English   中英

當$ bgd_color傳遞-1時,php gd imagerotate失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM