1
我需要添加透明水印(最終圖像中的透明度 - 80%)。我創造了這個函數來處理它:在圖像中添加透明水印
function ImageAddWatermark($im, $stamp, $onLeft, $onTop, $margin){
// $stamp = imagecreatformpng(...) -> GD resource?
// not important part - it calculates position of watermark
if($onLeft){
$orgX = $margin;
} else {
$orgX = imagesx($im)-$margin-imagesx($stamp);
}
if($onTop){
$orgY = $margin;
}else {
$orgY = imagesy($im)-$margin-imagesy($stamp);
}
imagecopymerge($im, $stamp, $orgX, $orgY, 0, 0, imagesx($stamp), imagesy($stamp), 50);
return $im;
}
功能結果:
但imagecopymerge返回的黑色背景,而不是透明的。我甚至聽到一些意見,imagecopymerge不是正確的創建透明水印...
所以問題是:「我怎樣才能在jpeg照片中添加一個透明的水印(使用alpha?)?」我怎樣才能擺脫那個黑色背景?(在原始PNG文件是透明的)
調用此函數之前是什麼'$ stamp'?它是一個GD資源嗎?你是如何加載它的? – cmorrissey
@cmorrissey如果GD資源是「imagecreatefrompng(...)」,當然我稱之爲 – tomascapek
在你調用'imagecreatefrompng(...)'' – cmorrissey