PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载
本篇章节讲解PHP基于imagick扩展实现合成图片的两种方法。分享给大家供大家参考,具体如下: 方法一:compositeimagesnewimage($bg_width,$bg_height,'white'); $canvas->setimageformat($img_type); $i = $j = 0; foreach ($img_list as $item) { $im = new Imagick($item); $x = $logo_info['line_width']*2 + $i * $logo_info['width']; $y = $logo_info['line_height']*2 + $j * $logo_info['height']; // $canvas->compositeimage($im -> getimage(),Imagick::COMPOSITE_OVER,$x,$y); $canvas -> compositeimage($im,$im->getImageCompose(),$y); if (($i + 1) % $line_num === 0) { $i = 0; $j++; } else { $i++; } // unset($im); $im -> destroy(); } $canvas->writeimage($output_url); //销毁对象 $canvas -> destroy(); }方法二:combineimagesnewimage($bg_width,'white'); $i = $j = 0; foreach ($img_list as $item) { $im = null; $im = new Imagick($item); // $canvas -> readImage($item); $canvas -> addimage($im); $im -> clear(); $im -> destroy(); } // $canvas -> flattenImages(); $canvas -> combineImages( Imagick::CHANNEL_ALL ); $canvas -> writeimage($output_url); //销毁对象 $canvas -> clear(); $canvas -> destroy(); }个人认为方法二效率更高 附:windows下面php5.2.17和php5.3.18和php5.4.8各个版本的imagick组件下载 1、PHP5.2.17我安装成功了,用的星外PHP5.2.17直接安装程序,下载imagick版本如下: 点击此处本站下载。 已经包含imagemagick不需要安装任何东西,直接把php_imagick_st-Q16.dll复制到c:phpext目录 然后给php.ini扩展里面增加:extension=php_imagick_st-Q16.dll 最简单和绿色的方法 ps:还有诸如php_imagick_st-Q8.dll(8色),php_imagick_dyn-Q16.dll(需要安装imagemagick)就完全没必要管他们了 PHP5.2.17本站下载地址: 32位: 64位: 2、PHP5.3.18 必须安装 imagemagick 已经没有可用的单文件dll了 1)官方下载地址:
2)根据你的php安装模式下载 php_imagick 线程安全: 点击此处本站下载。 复制到c:phpext目录,增加扩展例如:extension=php_imagick_nts.dll 3、PHP5.4.8 必须安装 imagemagick 已经没有可用的单文件dll了 1)官方下载地址:
2)根据你的PHP安装模式下载 php_imagick 无线程安全: 点击此处本站下载。 复制到c:phpext目录,增加扩展例如: 以上安装本人都测试过,安装了重启iis或Apache服务器,然后查看phpinfo看看有没有 imagick 如果没有的话,请检查权限或者重新做一次。 更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《》 希望本文所述对大家PHP程序设计有所帮助。 (编辑:广州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |