php gd png透明,调整PNG大小并将其放在PHP / GD中较大的透明背景上?
所以,一切工作正常。我已經調整了源PNG大小并正確定位在創建的背景上,但PNG外部的其他區域變黑。我已經通過使用imagecolortransparent使它變得透明,但是這使png邊緣變得光滑。
這是我目前正在制作PNG周圍的黑色條紋。請記住,我只在這里處理PNG圖像。
// TARGET IMAGE
$target = imagecreatetruecolor($this->request['width'], $this->request['height']);
imagealphablending($target, false);
imagesavealpha($target, true);
// SOURCE IMAGE
$source = imagecreatefrompng($this->src_image);
// RESAMPLING
imagecopyresampled($target, $source, $offsetX, $offsetY, 0, 0, $tnWidth, $tnHeight, $this->src_width, $this->src_height);
// FINAL IMAGE
imagepng($target, $source, $quality);
// MEMORY CLEAN UP
imagedestroy($source);
imagedestroy($target);
// PRODUCES SOMETHING LIKE THIS
+--------------------------------+
| BLACK AREA |
+--------------------------------+
| |
| RESIZED PNG |
| WITH TRANSPARENCY |
| |
+--------------------------------+
| BLACK AREA |
+--------------------------------+
// WHERE IT SHOULD HAVE THE BLACK AREAS TRANSPARENT AS WELL
+--------------------------------+
| TRANSPARENT |
+--------------------------------+
| |
| RESIZED PNG |
| WITH TRANSPARENCY |
| |
+--------------------------------+
| TRANSPARENT |
+--------------------------------+希望有人有這方面的經驗,因為我發現在線的所有示例都只是談論在透明BG上調整PNG的大小,這很容易。
TIA
總結
以上是生活随笔為你收集整理的php gd png透明,调整PNG大小并将其放在PHP / GD中较大的透明背景上?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哪种移动宽带电脑可以无线上网(移动无线宽
- 下一篇: rsa php openssl,open