Fatal error: Uncaught exception 'ImagickException' with message 'Compositing ima

yypf2540017 NIM DIGITAL 开发组长/高级工程师/技术专家  2014-09-05 01:19:31

$image_name4=$Process.'4.gif';
$inimg3=$Process.'1.jpg';
$animation3 = new Imagick();
$animation3->setFormat("gif");
$i=0;
$image4 = new Imagick(realpath($image_name4));
$image4 = $image4->coalesceImages();
foreach($image4 as $frame){
if(!is_file($inimg3)){
echo '水印图像不存在';
}
$img = new Imagick();
$img->readImageBlob($frame);
$draw = new ImagickDraw();
$draw->color(0,0,imagick::PAINT_FLOODFILL);
$water = new Imagick(realpath($inimg3));
$draw->composite($water->getImageCompose(),0,0,320, 256,$water);
$img->drawImage($draw);
$animation3->addImage( $img );
$animation3->setImageDelay( $img->getImageDelay() );//
$draw->destroy();
$water->destroy();
$img->destroy();
}
$animation3->writeImages($Process.''.$id.'X.gif', true);//生成3X
$animation3->destroy();


在Linux 下报错,本地win7是好的:Uncaught exception 'ImagickException' with message 'Compositing image failed' 。
ImagickDraw->composite(40, 0, 0, 320, 256, Object(Imagick)) #1 {main} thrown in


...全文
199 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yypf2540017 2014-09-12
最后还是放弃了composite方法 以后看怎么样能正确使用 再更新下吧
回复
码无边 2014-09-10
getImageCompose() 这个方法有返回值?
回复
yypf2540017 2014-09-10
引用 4 楼 zy205817 的回复:
getImageCompose() 这个方法有返回值?
有的 这个设置gif延迟的,值为40.
回复
yypf2540017 2014-09-09
不是 new Imagick();不行,而是单独 $draw->composite($water->getImageCompose(),0,0,320, 256,$water); 这一句执行不了
回复
yypf2540017 2014-09-09
linux上有这个。。版本也升到最新了
回复
Suckor 2014-09-05
目测应该是你的linux下的php中没有imagick扩展。
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告