#php #image-processing #imagick
#php #обработка изображений #imagick
Вопрос:
Как я могу применить водяной знак к изображению с поворотом и непрозрачностью с помощью imagick в php
это мой код
<?php
$image = new Imagick();
$image->readImage(realpath('C:xampphtdocsimagick3.jpg'));
$watermark = new Imagick();
$watermark->readImage(realpath('C:xampphtdocsimagick1.png'));
$image->compositeImage($watermark, imagick::COMPOSITE_OVER, 0, 0);
header("Content-Type: image/" . $image->getImageFormat());
echo $image;
?>
Комментарии:
1. я хочу применить водяной знак
Ответ №1:
Получите изображение водяного знака и изображение, к которому вы хотите его добавить.
Они объединяют их с помощью функции PHP ImageCopy
<?php
// Load the stamp and the photo to apply the watermark to
$watermark= imagecreatefrompng('stamp.png');
$im = imagecreatefromjpeg('photo.jpeg');
// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($watermark);
$sy = imagesy($watermark);
// Copy the stamp image onto our photo using the margin offsets and the photo
// width to calculate positioning of the stamp.
imagecopy($im, $watermark, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($watermark), imagesy($watermark));
// Output and free memory
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
Должно сработать..
В вашем примере вам не хватает только поворота изображения.
$imagick->rotateImage(new ImagickPixel('transparent'), -13.55);
Комментарии:
1. я пробовал это, но если у меня есть изображение в формате png, оно становится прозрачным
2. @user3262732 попробуйте использовать обновленный «прозрачный» в конструкторе водяного знака.