亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

使用Imagick繪圖 文字換行 生成二維碼例子

2024-09-04 11:44:38
字體:
來源:轉載
供稿:網友

Imagick是一個可以供PHP調用ImageMagick功能的PHP擴展了,這個插件比gd庫的功能還要強大了,我們下文來看使用Imagick繪圖 文字換行 生成二維碼例子,希望例子能夠對各位有幫助.

二維碼的生成使用的QRcode庫:http://phpqrcode.sourceforge.net/

感覺最煩的就是文字的換行了,處理函數來源于網絡,下面代碼中的使用的函數不完整,完整代碼上傳 github 了:https://github.com/zhoumengkang/imagick-demo

模板圖和效果圖如下:

Imagick 繪圖,文字換行,生成二維碼:

  1. function createUserCard($username,$num,$desc,$id,$url){ 
  2.     //error_reporting(E_ALL); 
  3.     //ini_set("display_errors","On"); 
  4.     // 新建一個空白圖片用來做畫布 
  5.     $canvas = new Imagick; 
  6.     $canvasWidth = 588; 
  7.     $canvasHeight = 684; 
  8.     $canvas->newimage($canvasWidth$canvasHeight'white'); 
  9.     $canvas->setImageFormat('jpg'); 
  10.  
  11.     $fontFile = FONT_PATH."/msyh.ttf"
  12.     $fontSize = 20; 
  13.     // 封面 
  14.     $face = new Imagick(); 
  15.     $face->readimageblob(curl_get($url)); // 讀取 url 里面的圖片 
  16.     $face->cropThumbnailImage(200, 200); 
  17.  
  18.     // 讀取圖片 
  19.     $pic = new Imagick; 
  20.     $QRcodeFile = createQRcode($id,"m"); 
  21.     $pic->readImage($QRcodeFile); 
  22.     $codeWith = 256; 
  23.     $pic->cropThumbnailImage($codeWith$codeWith); 
  24.  
  25.     // 背景圖片 
  26.     $background = new Imagick; 
  27.     $background->readimage("/data0/logs/static/user/template.png"); 
  28.  
  29.     // 將圖片合并到畫布 
  30.     $canvas->compositeImage($face, Imagick::COMPOSITE_OVER, 194, 0); 
  31.     $canvas->compositeImage($pic, Imagick::COMPOSITE_OVER, ($canvasWidth-$codeWith)/2, $canvasHeight-$codeWith-31); 
  32.     $canvas->compositeImage($background, Imagick::COMPOSITE_OVER, 0, 0); 
  33.  
  34.  
  35.     $draw = new ImagickDraw; 
  36.     $draw->setFont($fontFile); 
  37.     $draw->setFontSize($fontSize); 
  38.     $draw->setFillColor(new ImagickPixel('#000000')); 
  39.     $draw->setTextAlignment(Imagick::ALIGN_CENTER); 
  40.     $canvas->annotateImage($draw,$canvasWidth/2, 230,0,$username); 
  41.  
  42.  
  43.     $desc = autowrap($fontSize,$fontFile,$desc,460); 
  44.     $draw->setFont($fontFile); 
  45.     $draw->setFontSize($fontSize); 
  46.     $draw->setFillColor(new ImagickPixel('#000000')); 
  47.     $draw->setTextAlignment(Imagick::ALIGN_CENTER); 
  48.     $canvas->annotateImage($draw,$canvasWidth/2, 310,0,$desc); 
  49.  
  50.  
  51.     $draw->setFont($fontFile); 
  52.     $draw->setFontSize($fontSize); 
  53.     $draw->setFillColor(new ImagickPixel('#E23B3B')); 
  54.     $draw->setTextAlignment(Imagick::ALIGN_LEFT); 
  55.     $canvas->annotateImage($draw,290, 275,0,$num); 
  56.  
  57.     $draw->setFont($fontFile); 
  58.     $draw->setFontSize($fontSize); 
  59.     $draw->setFillColor(new ImagickPixel('#ffffff')); 
  60.     $draw->setTextAlignment(Imagick::ALIGN_CENTER); 
  61.     $canvas->annotateImage($draw,$canvasWidth/2, $canvasHeight-20,0,"來找我玩,先長按識別二維碼"); 
  62. //Vevb.com 
  63.     // 保存圖片到另一目錄 
  64.     $userCardPath = "/data0/logs/static/user"
  65.     $canvas->writeimage($userCardPath ."/".$id.".jpg"); 
  66. createUserCard("周夢康",6376,"JR 史密斯搞什么鬼最后一分鐘才爆發, 要爆發你丫早點啊,總冠軍送人了吧",2,"http://f10.topitme.com/l/201005/17/12740893805467.jpg"); 

例子2:

  1. $towidth = '500'
  2. $toheight = '700'//設置圖片調整大小時允許的最大寬度和高度 
  3. $sourcefile = './b.jpg'//定義一個圖像文件路徑 
  4. //$image->writeImage('./b.jpg.bak'); //可以備份這個圖片 
  5. $myimage = new Imagick( $sourcefile ); //讀入該圖像文件 
  6. $exifobject = my_exif( $myimage ); //自寫函數,讀取exif信息(拍攝數據),按自己的要求排列exif信息,返回對象 
  7. //$myimage->setImageFormat('jpeg'); //把圖片轉為jpg格式 
  8. $myimage->setCompressionQuality( 100 ); //設置jpg壓縮質量,1 - 100 
  9. $myimage->enhanceImage(); //去噪點 
  10. $sourcewidth = $myimage->getImageWidth(); //獲取讀入圖像原始大小 
  11. if ( $sourcewidth > $towidth ) 
  12.   $myimage->scaleImage( $towidth$toheight, true ); //調整圖片大小 
  13. $myimage->raiseImage( 8, 8, 0, 0, 1 ); //加半透明邊框 
  14. $resizewidth = $myimage->getImageWidth(); //讀出調整之后的圖片大小 
  15. $resizeheight = $myimage->getImageHeight(); 
  16. $drawback = new ImagickDraw(); //實例化一個繪畫對象,繪制半透明黑色背景給exif信息用 
  17. $drawback->setFillColor( new ImagickPixel('#000000') ); //設置填充顏色為黑色 
  18. $drawback->setFillOpacity( 0.6 ); //填充透明度為0.6,參數0.1-1,1為不透明 
  19. $drawback->rectangle( $resizewidth / 2 - 190, $resizeheight - 50, $resizewidth / 2 + 190, $resizeheight - 12 ); //繪制矩形參數,分別為左上角x、y,右下角x、y 
  20. $myimage->drawImage( $drawback ); //確認到image中繪制該矩形框 
  21. $draw = new ImagickDraw(); //實例化一個繪畫對象,繪制exif文本信息嵌入圖片中 
  22. $draw->setFont( './xianhei.ttf' ); //設置文本字體,要求ttf或者ttc字體,可以絕對或者相對路徑 
  23. $draw->setFontSize( 11 ); //設置字號 
  24. $draw->setTextAlignment( 2 ); //文字對齊方式,2為居中 
  25. $draw->setFillColor( '#FFFFFF' ); //文字填充顏色 
  26. $myimage->annotateImage( $draw$resizewidth / 2, $resizeheight - 39, 0, $exifobject->row1 ); //繪制第一行文本,居中 
  27. $myimage->annotateImage( $draw$resizewidth / 2, $resizeheight - 27, 0, $exifobject->row2 ); //繪制第二行文本,居中 
  28. $myimage->annotateImage( $draw$resizewidth / 2, $resizeheight - 15, 0, $exifobject->row3 ); //繪制第三行文本,居中 
  29. /* Output the image with headers */ 
  30. header( 'Content-type: image/jpeg' ); //php文件輸出mime類型為jpeg圖片 
  31. echo $myimage//在當前php頁面輸出圖片 
  32. //$image->writeImage('./b.new.jpg'); //如果圖片不需要在當前php程序中輸出,使用寫入圖片到磁盤函數,上面的設置header也可以去除 
  33. $myimage->clear(); 
  34. $myimage->destroy(); //釋放資源 
  35. //自寫函數,讀取exif信息,返回對象 
  36. function my_exif( $myimage ) 
  37.   $exifArray = array'exif:Model' => '未知''exif:DateTimeOriginal' => '未知''exif:ExposureProgram' => '未知''exif:FNumber' => '0/10''exif:ExposureTime' => '0/10''exif:ISOSpeedRatings' => '未知'
  38.     'exif:MeteringMode' => '未知''exif:Flash' => '關閉閃光燈''exif:FocalLength' => '未知''exif:ExifImageWidth' => '未知''exif:ExifImageLength' => '未知' ); //初始化部分信息,防止無法讀取照片exif信息時運算發生錯誤 
  39.   $exifArray = $myimage->getImageProperties( "exif:*" ); //讀取圖片的exif信息,存入$exifArray數組 
  40.   //如果需要顯示原數組可以使用print_r($exifArray); 
  41.   $r->row1 = '相機:' . $exifArray['exif:Model']; 
  42.   $r->row1 = $r->row1 . ' 拍攝時間:' . $exifArray['exif:DateTimeOriginal']; 
  43.   switch ( $exifArray['exif:ExposureProgram'] ) 
  44.   { 
  45.     case 1: 
  46.       $exifArray['exif:ExposureProgram'] = "手動(M)"
  47.       break//Manual Control 
  48.     case 2: 
  49.       $exifArray['exif:ExposureProgram'] = "程序自動(P)"
  50.       break//Program Normal 
  51.     case 3: 
  52.       $exifArray['exif:ExposureProgram'] = "光圈優先(A,Av)"
  53.       break//Aperture Priority 
  54.     case 4: 
  55.       $exifArray['exif:ExposureProgram'] = "快門優先(S,Tv)"
  56.       break//Shutter Priority 
  57.     case 5: 
  58.       $exifArray['exif:ExposureProgram'] = "慢速快門"
  59.       break//Program Creative (Slow Program) 
  60.     case 6: 
  61.       $exifArray['exif:ExposureProgram'] = "運動模式"
  62.       break//Program Action(High-Speed Program) 
  63.     case 7: 
  64.       $exifArray['exif:ExposureProgram'] = "人像"
  65.       break//Portrait 
  66.     case 8: 
  67.       $exifArray['exif:ExposureProgram'] = "風景"
  68.       break//Landscape 
  69.     default
  70.       $exifArray['exif:ExposureProgram'] = "其它"
  71.   } 
  72.   $r->row1 = $r->row1 . ' 模式:' . $exifArray['exif:ExposureProgram']; 
  73.   $exifArray['exif:FNumber'] = explode'/'$exifArray['exif:FNumber'] ); 
  74.   $exifArray['exif:FNumber'] = $exifArray['exif:FNumber'][0] / $exifArray['exif:FNumber'][1]; 
  75.   $r->row2 = '光圈:F/' . $exifArray['exif:FNumber']; 
  76.   $exifArray['exif:ExposureTime'] = explode'/'$exifArray['exif:ExposureTime'] ); 
  77.   if ( ($exifArray['exif:ExposureTime'][0] / $exifArray['exif:ExposureTime'][1]) >= 1 ) 
  78.   { 
  79.     $exifArray['exif:ExposureTime'] = sprintf( "%.1fs", (float)$exifArray['exif:ExposureTime'][0] / $exifArray['exif:ExposureTime'][1] ); 
  80.   } else 
  81.   { 
  82.     $exifArray['exif:ExposureTime'] = sprintf( "1/%ds"$exifArray['exif:ExposureTime'][1] / $exifArray['exif:ExposureTime'][0] ); 
  83.   } 
  84.   $r->row2 = $r->row2 . ' 快門:' . $exifArray['exif:ExposureTime']; 
  85.   $r->row2 = $r->row2 . ' ISO:' . $exifArray['exif:ISOSpeedRatings']; 
  86.   $exifArray['exif:ExposureBiasValue'] = explode"/"$exifArray['exif:ExposureBiasValue'] ); 
  87.   $exifArray['exif:ExposureBiasValue'] = sprintf( "%1.1feV", ((float)$exifArray['exif:ExposureBiasValue'][0] / $exifArray['exif:ExposureBiasValue'][1] * 100) / 100 ); 
  88.   if ( (float)$exifArray['exif:ExposureBiasValue'] > 0 ) 
  89.   { 
  90.     $exifArray['exif:ExposureBiasValue'] = "+" . $exifArray['exif:ExposureBiasValue']; 
  91.   } 
  92.   $r->row2 = $r->row2 . ' 補償:' . $exifArray['exif:ExposureBiasValue']; 
  93.   switch ( $exifArray['exif:MeteringMode'] ) 
  94.   { 
  95.     case 0: 
  96.       $exifArray['exif:MeteringMode'] = "未知"
  97.       break
  98.     case 1: 
  99.       $exifArray['exif:MeteringMode'] = "矩陣"
  100.       break
  101.     case 2: 
  102.       $exifArray['exif:MeteringMode'] = "中央重點平均"
  103.       break
  104.     case 3: 
  105.       $exifArray['exif:MeteringMode'] = "點測光"
  106.       break
  107.     case 4: 
  108.       $exifArray['exif:MeteringMode'] = "多點測光"
  109.       break
  110.     default
  111.       $exifArray['exif:MeteringMode'] = "其它"
  112.   } 
  113.   $r->row2 = $r->row2 . ' 測光:' . $exifArray['exif:MeteringMode']; 
  114.   switch ( $exifArray['exif:Flash'] ) 
  115.   { 
  116.     case 1: 
  117.       $exifArray['exif:Flash'] = "開啟閃光燈"
  118.       break
  119.   } 
  120.   $r->row2 = $r->row2 . ' ' . $exifArray['exif:Flash']; 
  121.   if ( $exifArray['exif:FocalLengthIn35mmFilm'] ) 
  122.   { 
  123.     $r->row3 = '等效焦距:' . $exifArray['exif:FocalLengthIn35mmFilm'] . "mm"
  124.   } else 
  125.   { 
  126.     $exifArray['exif:FocalLength'] = explode"/"$exifArray['exif:FocalLength'] ); 
  127.     $exifArray['exif:FocalLength'] = sprintf( "%4.1fmm", (double)$exifArray['exif:FocalLength'][0] / $exifArray['exif:FocalLength'][1] ); 
  128.     $r->row3 = '焦距:' . $exifArray['exif:FocalLength']; 
  129.   } 
  130.   $r->row3 = $r->row3 . ' 原始像素:' . $exifArray['exif:ExifImageWidth'] . 'x' . $exifArray['exif:ExifImageLength'] . 'px'
  131.   if ( $exifArray['exif:Software'] ) 
  132.   { 
  133.     $r->row3 = $r->row3 . ' 后期:' . $exifArray['exif:Software']; 
  134.   } 
  135.   return $r

例子3:

  1. <?php 
  2. //獲取水印圖片 
  3. $logo = new Imagick("logo.png"); 
  4. $logo->setImageResolution(0.01,0.03); 
  5. //創建一個Imagick對象,同時獲取要處理的源圖 
  6. $im = new Imagick( "old_large_img_2.jpg" ); 
  7. //獲取源圖片寬和高 
  8. $srcWH = $im->getImageGeometry(); 
  9. //圖片等比例縮放寬和高設置 
  10. if($srcWH['width']>710){ 
  11. $srcW['width'] = 710; 
  12. $srcH['height'] = $srcW['width']/$srcWH['width']*$srcWH['height']; 
  13. }else
  14. $srcW['width'] = $srcWH['width']; 
  15. $srcH['height'] = $srcWH['height']; 
  16. //按照比例進行縮放 
  17. $im->thumbnailImage( $srcW['width'], $srcH['height'], true ); 
  18. // 按照縮略圖大小創建一個有顏色的圖片 
  19. $canvas = new Imagick(); 
  20. $canvas->newImage( $srcW['width'], $srcH['height'], 'black''jpg' ); //pink,black 
  21. //添加水印 
  22. $im->compositeImage($logo,Imagick::COMPOSITE_OVER,$srcW['width']-280,$srcH['height']-77); 
  23. $canvas->setcompressionquality(91); 
  24. //合并圖片 
  25. $canvas->compositeImage( $im, imagick::COMPOSITE_OVER, 0, 0); 
  26. //輸出圖片 
  27. header( "Content-Type: image/jpg" ); 
  28. echo $canvas;   
  29. //生成圖片 
  30. $canvas->writeImage( "test_img/old_large_img_2_96.jpg" ); 
  31. ?> 

imagick是一個功能強大的圖像處理庫。

說是翻譯 其實就是簡要介紹imagick 的主要功能的或者說是我覺得比較實用的功能函數的介紹 以及使用的例子。

因為本人的英語水平有限,所以采用比較通俗或者說比較貼近應用化的語言來描述。

先欣賞一組炫麗的效果:

偏置圖像:

例子:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->rollImage(20,39); 
  6. echo $image
  7. ?> 

thumbnailImage($width,$height) 改變圖片大小

例子:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->thumbnailImage(100,0); 
  6. echo $image
  7. ?> 
  8. addNoiseImage(int $noise_type [, int $channel= Imagick::CHANNEL_ALL ]); 

功能:Adds random noise to the image

添加干擾素:

  1. Noise constants ( $noise_type 類型) 
  2. imagick::NOISE_UNIFORM (integer) 
  3. imagick::NOISE_GAUSSIAN (integer) 
  4. imagick::NOISE_MULTIPLICATIVEGAUSSIAN (integer) 
  5. imagick::NOISE_IMPULSE (integer) 
  6. imagick::NOISE_LAPLACIAN (integer) 
  7. imagick::NOISE_POISSON (integer) 
  8. Channel constants ( $channel 類型) 
  9. imagick::CHANNEL_UNDEFINED (integer) 
  10. imagick::CHANNEL_RED (integer) 
  11. imagick::CHANNEL_GRAY (integer) 
  12. imagick::CHANNEL_CYAN (integer) 
  13. imagick::CHANNEL_GREEN (integer) 
  14. imagick::CHANNEL_MAGENTA (integer) 
  15. imagick::CHANNEL_BLUE (integer) 
  16. imagick::CHANNEL_YELLOW (integer) 
  17. imagick::CHANNEL_ALPHA (integer) 
  18. imagick::CHANNEL_OPACITY (integer) 
  19. imagick::CHANNEL_MATTE (integer) 
  20. imagick::CHANNEL_BLACK (integer) 
  21. imagick::CHANNEL_INDEX (integer) 
  22. imagick::CHANNEL_ALL (integer) 

例子:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->thumbnailImage(100,0); 
  6. $image->addNoiseImage(imagick::NOISE_POISSON,imagick::CHANNEL_OPACITY); 
  7. echo $image
  8. ?> 

annotateImage 創建文本圖像

例子:

  1. <?php 
  2. $image = new Imagick(); 
  3. $draw = new ImagickDraw(); 
  4. $pixel = new ImagickPixel( 'gray' ); 
  5. $image->newImage(800, 75, $pixel); 
  6. $pixel->setColor('black'); 
  7. $draw->setFont('Bookman-DemiItalic'); 
  8. $draw->setFontSize( 30 ); 
  9. $image->annotateImage($draw, 10, 45, 0, 'The quick brown fox jumps over the lazy dog'); 
  10. $image->setImageFormat('png'); 
  11. header('Content-type: image/png'); 
  12. echo $image
  13. ?> 
  14. blurImage(float $radius , float $sigma [, int $channel ]) 

Adds blur filter to image 圖像模糊度處理

參數:

  1. int $channel : 
  2. imagick::CHANNEL_UNDEFINED (integer) 
  3. imagick::CHANNEL_RED (integer) 
  4. imagick::CHANNEL_GRAY (integer) 
  5. imagick::CHANNEL_CYAN (integer) 
  6. imagick::CHANNEL_GREEN (integer) 
  7. imagick::CHANNEL_MAGENTA (integer) 
  8. imagick::CHANNEL_BLUE (integer) 
  9. imagick::CHANNEL_YELLOW (integer) 
  10. imagick::CHANNEL_ALPHA (integer) 
  11. imagick::CHANNEL_OPACITY (integer) 
  12. imagick::CHANNEL_MATTE (integer) 
  13. imagick::CHANNEL_BLACK (integer) 
  14. imagick::CHANNEL_INDEX (integer) 
  15. imagick::CHANNEL_ALL (integer) 
  16. <?php 
  17. ini_set('display_errors',1); 
  18. header('Content-type: image/jpeg'); 
  19. $image = new Imagick('1.jpg'); 
  20. $image->blurImage(5,3); 
  21. echo $image
  22. ?> 

borderImage ( mixed $bordercolor , int $width , int $height ) 圖片邊框處理

例子:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $color=new ImagickPixel(); 
  6. $color->setColor("rgb(220,220,220)"); 
  7. $image->borderImage($color,5,4); 
  8. $image->blurImage(5,5,imagick::CHANNEL_GREEN); 
  9. echo $image
  10. ?> 

charcoalImage ( float $radius , float $sigma ) 圖像素描處理

參數說明:

$radius:越小越薄。

$sigma:越大 墨越深 反之。

例子:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $color=new ImagickPixel(); 
  6. $color->setColor("rgb(220,220,220)"); 
  7. $image->borderImage($color,5,4); 
  8. $image->charcoalImage(0.0001,0.001); 
  9. //$image->blurImage(5,5,imagick::CHANNEL_GREEN); 
  10. echo $image
  11. ?> 

chopImage(int $width,int $height,int $x,int $y)

參數說明:刪除一定范圍的圖像區域

就不做參數說明,一看便知.

colorizeImage( mixed $colorize , mixed $opacity )混合填充顏色

$colorize 顏色

$opacit 透明度

例子:

  1. <?php 
  2. /* 
  3. 膠卷底片效果 
  4. */ 
  5. ini_set('display_errors',1); 
  6. header('Content-type: image/jpeg'); 
  7. $image = new Imagick('1.jpg'); 
  8. $image->negateImage(false); 
  9. $image->colorizeImage('#000',1.0); 
  10. echo $image
  11. ?> 

embossImage ( float $radius , float $sigma )

功能:返回一個灰度級3D圖像 不太好。

例子:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->embossImage(1,1); 
  6. echo $image
  7. ?> 

(兩張效果圖)

flipImage(void)

功能:創建圖像倒影(垂直翻轉)

例子:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->flipImage(); 
  6. echo $image
  7. ?> 

flopImage(void)

功能:圖像水平橫向翻轉

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->flopImage(); 
  6. echo $image
  7. ?> 

frameImage(mixed $matte_color,int $width, int $height,int $inner_bevel, int $outer_bevel)

功能:創建3D圖像邊框

參數說明:

$matte_color:顏色

$inner_bevel:邊框內部傾斜度

$outer_bevel:外部邊框傾斜度

例子:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $color=new ImagickPixel(); 
  6. $color->setColor("rgb(220,220,220)"); 
  7. $image->frameImage($color,11,11,1,10); 
  8. echo $image
  9. ?> 

注意事項:

$width(寬度)不能小于$inner_bevel(邊框內部傾斜度)

Imagick::gammaImage (float $gamma [,int $channel= Imagick::CHANNEL_ALL])

功能:調整圖像灰度系數

參數說明:

float $gamma:灰度系數值

$channel 默認為 Imagick::CHANNEL_ALL

Imagick::CHANNEL_ALL

例子 1:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->gammaImage(30); 
  6. echo $image
  7. ?> 

例子 2:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->gammaImage(30); 
  6. echo $image
  7. ?> 

gaussianBlurImage(float $radius,float $sigma [, int $channel= Imagick::CHANNEL_ALL ])

功能:高斯模糊處理 類似于photo的高斯模糊

參數說明:

float $radius:高斯模糊的半徑,像素,不包括中心象素。

float $sigma:高斯的標準偏差,以像素為單位,我覺得這個參數最重要.

int $channel:圖像顏色模式.

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->gaussianBlurImage(30,3); 
  6. echo $image
  7. ?> 

levelImage(float $blackPoint,float $gamma,float $whitePoint [,int $channel= Imagick::CHANNEL_ALL ])

功能:調整圖像的色階(Adjusts the levels of an image)

參數說明:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->levelImage(4,4,4); 
  6. echo $image
  7. ?> 

例子2:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->levelImage(200,200,200,imagick::CHANNEL_GREEN); 
  6. echo $image
  7. ?> 

magnifyImage(void)

功能說明:簡便的圖像等比例放大2倍(Is a convenience method that scales an image proportionally to twice its original size. )

例子:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->magnifyImage (); 
  6. echo $image
  7. ?> 

medianFilterImage(float $radius)

功能:特是的濾鏡 有點像photoshop 調色刀濾鏡

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $color=new ImagickPixel(); 
  6. $color->setColor("rgb(220,220,220)"); 
  7. $image->medianFilterImage(5); 
  8. echo $image
  9. ?> 

minifyImage(void)

功能:圖小縮小一倍(Scales an image proportionally to half its size)

例子:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->minifyImage(); 
  6. echo $image
  7. ?> 

modulateImage(float $brightness,float $saturation,float $hue)

功能:控制調整圖像的 亮度、飽和度、色調。

參數說明:

float $brightness: 亮度

float $saturation :飽和度

float $hue 色調

例子1:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->modulateImage(100,1,100); 
  6. echo $image
  7. ?> 

例子2:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $image->modulateImage(250,1,250); 
  6. echo $image
  7. ?> 

motionBlurImagemotionBlurImage(float $radius,float $sigma,float $angle [, int $channel= Imagick::CHANNEL_DEFAULT ])

功能:模擬運動模糊(Simulates motion blur),類似photoshop的動感模糊濾鏡功能

參數說明:

float $radius: 高斯 半徑,不包過中心像素。

float $sigma:標準偏差的高斯,以像素為單位?!局匾獏怠?/p>

float $angle:模糊角度。

int $channel:圖像顏色模式。默認為 Imagick::CHANNEL_DEFAULT

例子1:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $color=new ImagickPixel(); 
  6. $color->setColor("rgb(220,220,220)"); 
  7. $image->motionBlurImage (61,10,10); 
  8. echo $image
  9. ?> 

例子2:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $color=new ImagickPixel(); 
  6. $color->setColor("rgb(220,220,220)"); 
  7. $image->motionBlurImage (201,10,100); 
  8. echo $image
  9. ?> 

oilPaintImage ( float $radius ):

功能說明:模擬油畫濾鏡(Simulates an oil painting)

例子:

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $color=new ImagickPixel(); 
  6. $color->setColor("rgb(220,220,220)"); 
  7. $image->oilPaintImage(1); 
  8. echo $image
  9. ?> 

radialBlurImage(float $angle [,int $channel= Imagick::CHANNEL_ALL ])

功能:徑向模糊(Radial blurs an image)

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $color=new ImagickPixel(); 
  6. $color->setColor("rgb(220,220,220)"); 
  7. $image->radialBlurImage(30); 
  8. echo $image
  9. ?> 

raiseImage(int $width,int $height,int $x,int $y,bool $raise)

功能說明:創建3D圖像按鈕(Creates a simulated 3d button-like effect)

  1. <?php 
  2. ini_set('display_errors',1); 
  3. header('Content-type: image/jpeg'); 
  4. $image = new Imagick('1.jpg'); 
  5. $color=new ImagickPixel(); 
  6. $color->setColor("rgb(220,220,220)"); 
  7. $image->raiseImage(10,10,3,5,6); 
  8. echo $image
  9. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久精品美女高潮| 日韩在线播放视频| 欧美视频免费在线观看| 中文精品99久久国产香蕉| 国产精品久久久久aaaa九色| 久久亚洲精品一区| 精品自在线视频| 亚洲伊人成综合成人网| 亚洲人成欧美中文字幕| 欧美极品少妇xxxxx| 日日摸夜夜添一区| 国语自产精品视频在线看一大j8| 欧美xxxx18国产| 亚洲欧美日韩视频一区| 欧美黑人一区二区三区| 国产亚洲欧洲高清一区| 伊人成人开心激情综合网| 3344国产精品免费看| 亚洲91精品在线观看| 成人精品视频在线| 亚洲日韩欧美视频一区| 亚洲欧美三级伦理| 欧美资源在线观看| 国产精品高清在线| 一个人看的www久久| 精品国产一区二区三区久久狼5月| 97人人爽人人喊人人模波多| 欧美成人中文字幕| 亚洲bt天天射| 日韩一区二区在线视频| 成人精品视频在线| 久久深夜福利免费观看| 国产成人涩涩涩视频在线观看| 亚洲男人的天堂在线| 久久香蕉国产线看观看av| 国产成人中文字幕| 8x海外华人永久免费日韩内陆视频| 久久精品电影一区二区| 亚洲aa中文字幕| 精品偷拍各种wc美女嘘嘘| 97av在线视频免费播放| 精品久久久久久电影| 欧美日韩中文字幕综合视频| www.美女亚洲精品| 97在线免费视频| 亚洲一区亚洲二区亚洲三区| 97在线看免费观看视频在线观看| 91久久国产综合久久91精品网站| 亚洲xxxx18| 日韩中文字幕免费| 免费99精品国产自在在线| 美女国内精品自产拍在线播放| 亚洲国产精品yw在线观看| 亚洲桃花岛网站| 九九九热精品免费视频观看网站| 久久久久久久一区二区三区| 色先锋资源久久综合5566| 欧美乱大交xxxxx另类电影| 国产精品视频久久久久| 成人伊人精品色xxxx视频| 国产精品视频一| 亚洲激情电影中文字幕| 亚洲欧美三级在线| 亚洲国产精品字幕| 亚洲精品免费一区二区三区| 国产精品免费久久久久影院| 国产视频精品久久久| 欧美日韩在线视频首页| 日韩av在线网| 国产日韩专区在线| 久久亚洲一区二区三区四区五区高| 亚洲欧美激情四射在线日| 欧美丰满少妇xxxxx做受| 亚洲欧美精品一区二区| 日韩欧美精品网站| 亚洲黄色av网站| 亚洲综合在线做性| 欧美亚洲第一区| 永久免费看mv网站入口亚洲| 国产精品色视频| 日本韩国欧美精品大片卡二| 狠狠躁18三区二区一区| 97超级碰在线看视频免费在线看| 国产精品一区av| 成人精品视频99在线观看免费| 国产精品成人免费电影| 亚洲午夜女主播在线直播| 国产精品情侣自拍| 久久6精品影院| 精品国偷自产在线视频99| 欧美中文在线观看国产| 日韩av免费一区| 日韩天堂在线视频| 久久久极品av| 国产精品久久久久久久久久久不卡| 亚洲va欧美va国产综合剧情| 亚洲欧美日韩在线一区| 国产精品久久久av久久久| 亚洲第一偷拍网| 在线播放精品一区二区三区| 国产精品xxx视频| 国产精品精品久久久| 国产日韩欧美视频在线| 欧美黑人狂野猛交老妇| 久久久久久国产三级电影| 美女撒尿一区二区三区| 欧美亚洲成人xxx| 91中文字幕一区| 97在线视频观看| 这里只有精品丝袜| 欧美日韩国产精品| 中文字幕免费精品一区| 91精品国产综合久久久久久蜜臀| 久久国产精品久久久久| 国产日韩欧美夫妻视频在线观看| 亚洲已满18点击进入在线看片| 欧美国产日韩视频| 亚洲国产精品免费| 91av成人在线| 高清日韩电视剧大全免费播放在线观看| 久久精品国产亚洲精品2020| 亚洲最大成人网色| 91精品免费视频| 亚洲人高潮女人毛茸茸| 91免费精品国偷自产在线| 久久精品人人做人人爽| 91精品国产色综合久久不卡98口| 中文字幕精品在线| 精品国产老师黑色丝袜高跟鞋| 亚洲国产99精品国自产| 久久久久久久一区二区| 97超级碰碰碰| 色老头一区二区三区| 亚洲美女在线看| 色久欧美在线视频观看| 97精品欧美一区二区三区| 精品国产乱码久久久久酒店| 亚洲成色999久久网站| 欧美精品一本久久男人的天堂| 91精品免费久久久久久久久| 亚洲一区精品电影| 欧美成人四级hd版| 在线播放精品一区二区三区| 亚洲无av在线中文字幕| 97视频网站入口| 国产精品成人av性教育| www日韩中文字幕在线看| 亚洲欧洲在线观看| 久久深夜福利免费观看| 国产成人综合av| 日本一欧美一欧美一亚洲视频| 国语自产精品视频在线看| 欧美激情videoshd| 亚洲天堂久久av| 国产精品99蜜臀久久不卡二区| 亚洲新声在线观看| 国产日韩欧美电影在线观看| 91精品国产亚洲| 国产精品一二三在线| 亚洲性av在线| 欧美日韩精品国产| 91精品国产免费久久久久久| 成人情趣片在线观看免费| 国产精品视频免费观看www|