久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

PHP基于imagick擴(kuò)展實(shí)現(xiàn)合成圖片的兩種方法【附imagick擴(kuò)展下載】

這篇文章主要介紹了PHP基于imagick擴(kuò)展實(shí)現(xiàn)合成圖片的兩種方法,結(jié)合實(shí)例形式分析了php使用imagick擴(kuò)展進(jìn)行圖片合并的具體操作方法與相關(guān)實(shí)現(xiàn)技巧,并附帶imagick擴(kuò)展下載地址與配置方法

本文實(shí)例講述了PHP基于imagick擴(kuò)展實(shí)現(xiàn)合成圖片的兩種方法。分享給大家供大家參考,具體如下:

方法一:compositeimages

/**
* function: 合成圖片
* @param string   $output_url 圖片保存路徑
* @param string   $img_type  圖片保存類型
* @param integral  $line_num  每行顯示圖片數(shù)量
* @param array    $logo_info 每張待合成圖片的信息(要求所有尺寸統(tǒng)一)
* @param array    $img_list 待合成的圖片絕對(duì)路徑
*
* @return void
*/
public function generate($output_url, $img_type, $line_num, $logo_info, $img_list=array()) {
    //計(jì)算圖片有多少行
    $lines = ceil(count($img_list)/$line_num);
    $bg_width = ($logo_info['width'] + $logo_info['line_width']) * $line_num;
    $bg_height = ($logo_info['height'] + $logo_info['line_height']) * $lines;
    //構(gòu)建畫布
    $canvas = new Imagick();
    $canvas->newimage($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(), $x, $y);
      if (($i + 1) % $line_num === 0) {
        $i = 0;
        $j++;
      } else {
        $i++;
      }
      // unset($im);
      $im -> destroy();
    }
    $canvas->writeimage($output_url);
    //銷毀對(duì)象
    $canvas -> destroy();
}

方法二:combineimages

/**
* function: 合成圖片
* @param string   $output_url 圖片保存路徑
* @param string   $img_type  圖片保存類型
* @param integral  $line_num  每行顯示圖片數(shù)量
* @param array    $logo_info 每張待合成圖片的信息(要求所有尺寸統(tǒng)一)
* @param array    $img_list 待合成的圖片絕對(duì)路徑
*
* @return void
*/
public function generate($output_url, $img_type, $line_num, $logo_info, $img_list=array()) {
    //計(jì)算圖片有多少行
    $lines = ceil(count($img_list)/$line_num);
    $bg_width = ($logo_info['width'] + $logo_info['line_width']) * $line_num;
    $bg_height = ($logo_info['height'] + $logo_info['line_height']) * $lines;
    //構(gòu)建畫布
    $canvas = null;
    $canvas = new Imagick();
    $canvas -> newimage($bg_width, $bg_height, '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);
    //銷毀對(duì)象
    $canvas -> clear();
    $canvas -> destroy();
}

個(gè)人認(rèn)為方法二效率更高

附:windows下面php5.2.17和php5.3.18和php5.4.8各個(gè)版本的imagick組件下載

1、PHP5.2.17我安裝成功了,用的星外PHP5.2.17直接安裝程序,下載imagick版本如下:

點(diǎn)擊此處本站下載

已經(jīng)包含imagemagick不需要安裝任何東西,直接把php_imagick_st-Q16.dll復(fù)制到c:\php\ext目錄
然后給php.ini擴(kuò)展里面增加:extension=php_imagick_st-Q16.dll 最簡(jiǎn)單和綠色的方法
ps:還有諸如php_imagick_st-Q8.dll(8色),php_imagick_dyn-Q16.dll(需要安裝imagemagick)就完全沒(méi)必要管他們了

PHP5.2.17本站下載地址:

32位:http://www.jb51.net/softs/26087.html

64位:http://www.jb51.net/softs/479475.html

2、PHP5.3.18 必須安裝 imagemagick 已經(jīng)沒(méi)有可用的單文件dll了

1)官方下載地址:

http://www.imagemagick.org/download/binaries/ImageMagick-6.8.0-4-Q16-windows-dll.exe

2)根據(jù)你的php安裝模式下載 php_imagick

線程安全:

點(diǎn)擊此處本站下載

復(fù)制到c:\php\ext目錄,增加擴(kuò)展例如:extension=php_imagick_nts.dll

3、PHP5.4.8  必須安裝 imagemagick 已經(jīng)沒(méi)有可用的單文件dll了

1)官方下載地址:

http://www.imagemagick.org/download/binaries/ImageMagick-6.8.0-4-Q16-windows-dll.exe

2)根據(jù)你的PHP安裝模式下載 php_imagick

無(wú)線程安全:

點(diǎn)擊此處本站下載

復(fù)制到c:\php\ext目錄,增加擴(kuò)展例如:extension=php_imagick.dll

以上安裝本人都測(cè)試過(guò),安裝了重啟iis或Apache服務(wù)器,然后查看phpinfo看看有沒(méi)有 imagick 如果沒(méi)有的話,請(qǐng)檢查權(quán)限或者重新做一次。

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要介紹了PHP定義字符串的四種方式,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
下面小編就為大家分享一篇php 替換文章中的圖片路徑,下載圖片到本地服務(wù)器的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
下面小編就為大家分享一篇PHP給源代碼加密的幾種方法匯總(推薦),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
下面小編就為大家分享一篇php打開(kāi)本地exe程序,js打開(kāi)本地exe應(yīng)用程序,并傳遞相關(guān)參數(shù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
這篇文章主要介紹了PHP類的反射來(lái)實(shí)現(xiàn)依賴注入過(guò)程以及相關(guān)知識(shí)點(diǎn)分享,對(duì)此有興趣的朋友跟著小編學(xué)習(xí)下吧。
php遍歷一個(gè)文件夾內(nèi)的所有文件和文件夾,并刪除所有文件夾和子文件夾下的所有文件的代碼,通過(guò)遞歸方式實(shí)現(xiàn)達(dá)到清空一個(gè)目錄的效果。本文給大家分享實(shí)例代碼,需要的朋友參考
主站蜘蛛池模板: 国产伦精品一区二区三区免费视频 | 国产综合视频在线观看 | 日本www在线观看 | 欧美成人精品一区二区三区 | 免费视频久久久 | 国产欧美一区二区三区视频在线观看 | www.av在线播放| 在线观看免费av网站 | 国产精品99久久久久久久久久久久 | 国产97视频 | 日本毛片在线观看 | 人人干人人看 | 国产一级特黄aaa大片 | 国产在线观看一区 | 国产精品成人一区 | 亚洲一区日韩 | 国产又爽又黄免费视频 | 免费看一级黄色片 | 久久在线精品 | 亚洲小视频 | 久久久www成人免费精品 | 日韩一级二级 | a级片在线免费观看 | 日韩一区二区三 | 日韩精品在线一区二区 | 久久久久久艹 | 亚洲黄色成人 | 国产精品尤物 | 在线中文av| 日韩欧美中文 | 免费黄色大片 | 精品一区二区三区中文字幕 | www.久草.com | 黄色在线免费网站 | 欧美日韩国产一区 | 亚洲精品91天天久久人人 | 中国av在线播放 | 欧美性视频在线 | 91国在线 | 日韩a在线| 九九精品网 |