我想在將圖片上傳到我的網站後立即爲圖片添加水印,但似乎水印一直以黑色物體形式出現,沒有任何細節。我相信該腳本有點工作,因爲如果不是,我可能不會看到任何水印或腳本會失敗。PHP GD水印腳本會產生空白水印
這是我的腳本至今:
$watermark = imagecreatefrompng('preview-watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromjpeg($portfolio_preview_dir.'/'.$file);
$size = getimagesize($portfolio_preview_dir.'/'.$file);
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);
imagejpeg($image, $portfolio_preview_dir.'/'.$file);
imagedestroy($image);
imagedestroy($watermark);
這是它的生產。水印的形狀是正確的,因爲水印是325x37像素:
我曾嘗試與水印圖像本身播放。我第一次嘗試使用'save for web'並選擇'PNG-24'來保存photoshop水印(使用透明bg)。這不起作用,所以我把它保存爲一個正常的PNG(沒有'保存爲網絡'),它仍然失敗。
我不確定它是腳本還是圖片!有人可以與我分享一些知識並幫助解決這個問題嗎?
我記得閱讀[somewhere](http://stackoverflow.com/questions/11680734/php-watermark-png-transparency-alpha)有一些關於PNG-24的GD問題和PNG-8會更好的問候以wattermarks。 –