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

php中文网
发布: 2016-06-23 13:49:42
原创
1782人浏览过

$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


button-with-tooltip
button-with-tooltip

button-with-tooltip

button-with-tooltip 93
查看详情 button-with-tooltip

回复讨论(解决方案)

目测应该是你的linux下的php中没有imagick扩展。

linux上有这个。。版本也升到最新了

不是  new Imagick();不行,而是单独 
 $draw->composite($water->getImageCompose(),0,0,320, 256,$water); 这一句执行不了

getImageCompose()
这个方法有返回值?

getImageCompose()
这个方法有返回值?

有的 这个设置gif延迟的,值为40.

最后还是放弃了composite方法  以后看怎么样能正确使用 再更新下吧

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号