简体   繁体   English

使用PHP ImageMagick库将水印添加到gif动​​画中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM