婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP基于imagick擴展實現合成圖片的兩種方法【附imagick擴展下載】

PHP基于imagick擴展實現合成圖片的兩種方法【附imagick擴展下載】

熱門標簽:隨州銷售電銷機器人公司 外呼系統人工客服 周口網絡回撥外呼系統 福建高頻外呼防封系統哪家好 400電話申請辦理 百度地圖標注類型是酒店 全國各省地圖標注點 商丘外呼系統好處 網絡電話400申請

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

方法一:compositeimages

/**
* function: 合成圖片
* @param string   $output_url 圖片保存路徑
* @param string   $img_type  圖片保存類型
* @param integral  $line_num  每行顯示圖片數量
* @param array    $logo_info 每張待合成圖片的信息(要求所有尺寸統一)
* @param array    $img_list 待合成的圖片絕對路徑
*
* @return void
*/
public function generate($output_url, $img_type, $line_num, $logo_info, $img_list=array()) {
    //計算圖片有多少行
    $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;
    //構建畫布
    $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);
    //銷毀對象
    $canvas -> destroy();
}

方法二:combineimages

/**
* function: 合成圖片
* @param string   $output_url 圖片保存路徑
* @param string   $img_type  圖片保存類型
* @param integral  $line_num  每行顯示圖片數量
* @param array    $logo_info 每張待合成圖片的信息(要求所有尺寸統一)
* @param array    $img_list 待合成的圖片絕對路徑
*
* @return void
*/
public function generate($output_url, $img_type, $line_num, $logo_info, $img_list=array()) {
    //計算圖片有多少行
    $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;
    //構建畫布
    $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);
    //銷毀對象
    $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:\php\ext目錄
然后給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位:https://www.jb51.net/softs/26087.html

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

2、PHP5.3.18 必須安裝 imagemagick 已經沒有可用的單文件dll了

1)官方下載地址:

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

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

線程安全:

點擊此處本站下載

復制到c:\php\ext目錄,增加擴展例如:extension=php_imagick_nts.dll

3、PHP5.4.8  必須安裝 imagemagick 已經沒有可用的單文件dll了

1)官方下載地址:

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

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

無線程安全:

點擊此處本站下載

復制到c:\php\ext目錄,增加擴展例如:extension=php_imagick.dll

以上安裝本人都測試過,安裝了重啟iis或Apache服務器,然后查看phpinfo看看有沒有 imagick 如果沒有的話,請檢查權限或者重新做一次。

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》及《PHP數學運算技巧總結》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP使用 Imagick 擴展實現圖片合成,圓角處理功能示例
  • php圖片合成方法(多張圖片合成一張)
  • PHP實現將幾張照片拼接到一起的合成圖片功能【便于整體打印輸出】
  • PHP將身份證正反面兩張照片合成一張圖片的代碼
  • PHP基于php_imagick_st-Q8.dll實現JPG合成GIF圖片的方法
  • php curl優化下載微信頭像的方法總結
  • PHP仿微信多圖片預覽上傳實例代碼
  • PHP實現微信圖片上傳到服務器的方法示例
  • 微信小程序上傳圖片到php服務器的方法
  • PHP 圖片合成、仿微信群頭像的方法示例

標簽:定西 六安 迪慶 十堰 南寧 佛山 海南 樂山

巨人網絡通訊聲明:本文標題《PHP基于imagick擴展實現合成圖片的兩種方法【附imagick擴展下載】》,本文關鍵詞  PHP,基于,imagick,擴展,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP基于imagick擴展實現合成圖片的兩種方法【附imagick擴展下載】》相關的同類信息!
  • 本頁收集關于PHP基于imagick擴展實現合成圖片的兩種方法【附imagick擴展下載】的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 富锦市| 子洲县| 奈曼旗| 西贡区| 宾阳县| 进贤县| 任丘市| 阜康市| 大悟县| 云南省| 呼图壁县| 荔波县| 苏尼特左旗| 子洲县| 项城市| 波密县| 松江区| 环江| 齐齐哈尔市| 嵊州市| 孝义市| 宾阳县| 衡东县| 洪洞县| 牙克石市| 英山县| 抚顺县| 株洲县| 磐石市| 措勤县| 隆安县| 河源市| 平昌县| 施秉县| 阜新市| 浮山县| 郯城县| 全州县| 文水县| 佛坪县| 天水市|