请教各位大大个问题哈,我想实现两张图片的合并,合并后为gif格式,小图能在大图中具有动态,代码如下:$back = 'back.jpg'; //背景
$over = '1.gif'; //合成此gif图片$image = new Imagick($back);
$image_over = new Imagick($over);
$image->compositeImage($image_over, $image_over->getImageCompose(), 0, 0 );
header("Content-Type: image/gif");
echo $image->getImagesBlob();但如上生成的图片为静态。求解?
$over = '1.gif'; //合成此gif图片$image = new Imagick($back);
$image_over = new Imagick($over);
$image->compositeImage($image_over, $image_over->getImageCompose(), 0, 0 );
header("Content-Type: image/gif");
echo $image->getImagesBlob();但如上生成的图片为静态。求解?
修改如下:
<?php
$back = 'back.jpg'; //背景
$over = '1.gif'; //合成此gif图片$image = new Imagick($back);
$image_width=$image->getImageWidth();
$image_height=$image->getImageHeight();$image_over = new Imagick($over);$new = new Imagick(); // 新的图层
$new ->setFormat('gif');//设置它的类型foreach ($image_over as $over){
$tmp =new Imagick();// 临时
$tmp->newImage($image_width, $image_height,'transparent','gif');
$new->addImage($tmp->textureImage($over));
$new->compositeImage($image, Imagick::COMPOSITE_OVER, 0, 30);
}
header("Content-Type: image/gif");
echo $new->getImagesBlob();
?>