Как добавить водяной знак на изображение внизу справа в PHP? - PullRequest
0 голосов
/ 23 декабря 2018

Я пытаюсь добавить водяной знак на изображение в PHP.Я использую приведенный ниже код, который отлично работает.Но я сталкиваюсь с проблемами следующими способами:

<?php

 function watermark_image($target, $wtrmrk_file, $newcopy) {
    $watermark = imagecreatefrompng($wtrmrk_file);
    imagealphablending($watermark, false);
    imagesavealpha($watermark, true);
    $img = imagecreatefromjpeg($target);
    $img_w = imagesx($img);
    $img_h = imagesy($img);
    $wtrmrk_w = imagesx($watermark);
    $wtrmrk_h = imagesy($watermark);
    imagecopy($img, $watermark, 500, 200, 0, 0, 100, 100);
    imagejpeg($img, $newcopy, 100);
    imagedestroy($img);
    imagedestroy($watermark);
}

watermark_image('1.jpg','assets/images/watermark.png', 'new_image_name.jpg');

exit();
?>

Я пытаюсь создать код, в котором я могу нанести водяной знак на любое изображение внизу справа.с фиксированной высотой и шириной 150x150.Я пытаюсь из последних 2 часов, но безуспешно, чтобы правильно разместить его.

У кого-нибудь есть идея?как этого добиться?Это было бы очень полезно.

1 Ответ

0 голосов
/ 23 декабря 2018

Вы размещаете изображение водяного знака в неправильном месте.Оно должно быть относительно ширины и высоты исходного изображения, а также размеров изображения водяного знака.Это решит вашу проблему:

  imagecopy($img, $watermark, $img_w - $wtrmrk_w, $img_h - $wtrmrk_h, 0, 0, $wtrmrk_w, $wtrmrk_h);
...