请教各位大大个问题哈,我想实现两张图片的合并,合并后为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();但如上生成的图片为静态。求解?

解决方案 »

  1.   

    利用帧操作应该可以的,不过不知道为什么我的代码出来的动态小图都是错位了:
    修改如下:
    <?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();
    ?>