Я пытаюсь добавить водяной знак к изображениям сразу после загрузки их на свой сайт, но кажется, что водяной знак продолжает выходить как черный объект без каких-либо подробностей. Я считаю, что скрипт работает немного, потому что, если это не так, я, вероятно, не увижу никаких водяных знаков или сценарий не сработает.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 пикселей:
я пытался играть с самим водяным знаком изображением. Моя первая попытка состояла в том, чтобы сохранить водяной знак фотошоп (с прозрачным bg), используя «сохранить для сети» и выбрать «PNG-24». Это не сработало, поэтому я сохранил его как обычный PNG (без «сохранения для Интернета»), и он все еще не работает.
Я не уверен, что это сценарий или изображение! Может кто-нибудь, пожалуйста, поделиться некоторыми знаниями со мной и помочь исправить эту проблему?
Я помню, как я читал [где-то] (http://stackoverflow.com/questions/11680734/php-watermark-png-transparency-alpha), некоторые проблемы с GD с PNG-24 и PNG-8 были бы предпочтительнее с точки зрения к wattermarks. –