[英]Add watermark to animated gif with PHP ImageMagick library
This works fine for none animated images: 这对于没有动画图像的作品都适用:
$image = new Imagick($file);
$format = strtolower($image->getImageFormat());
$watermark = new Imagick('watermark.png');
$watermark->scaleImage($image->getImageWidth(), $watermark->getImageHeight());
$image->addImage($watermark);
$image->resetIterator();
$combined = $image->appendImages(true);
$data = base64_encode($combined->getImageBlob());
echo '<img src="data:image/' . $format . ';base64,' . $data . '">';
How can I make this work for animated gifs? 如何使此效果适用于GIF动画? It just puts every frame below each other and the watermark below that.
它只是将每个帧放在彼此下方,而水印则放在其下方。
See below URL i am very sure it is very help full to you:- 请参阅下面的URL,我非常确定这对您有很大帮助:-
Watermark on animated gif with php 用php动画gif上的水印
Try this 尝试这个
$animation = ani.gif;
$watermark = logo.png;
$watermarked_animation = "morph.gif";
$cmd = " $animation -coalesce -gravity South ".
" -geometry +0+0 null: $watermark -layers composite -layers optimize ";
exec("convert $cmd $watermarked_animation ");
See also 也可以看看
http://www.imagemagick.org/Usage/anim_mods/#composite http://www.imagemagick.org/Usage/anim_mods/#composite
http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=21730 http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=21730
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.