Imagick是一款優(yōu)秀的PHP擴展,它為我們提供了很多處理圖像的方法和函數(shù),可以幫助我們快速地生成、處理、轉換、合并、比較、濾波等等,本文將對imagick在中文環(huán)境下的使用進行介紹,并舉例說明。
首先,我們需要了解的是imagick的安裝方式。在CentOS上,我們可以使用Yum包管理器進行安裝,命令如下:
sudo yum install php-imagick
在Ubuntu上,則要使用apt-get命令進行安裝:
sudo apt-get install php-imagick
安裝成功后,在php.ini中找到extension=imagick.so這一行,并將其取消注釋。
接下來,我們將簡單介紹一下imagick的常用方法:
1.生成、裁剪、縮放、旋轉、水印
//生成一張紅色的300x300像素的圖片 $imagick = new Imagick(); $imagick->newImage(300, 300, new ImagickPixel('red')); $imagick->setImageFormat('jpg'); header('Content-Type: image/jpeg'); echo $imagick; //以矩形裁剪 $imagick = new Imagick('1.jpg'); $imagick->cropImage(300, 300, 0, 0); $imagick->setImageFormat('jpg'); header('Content-Type: image/jpeg'); echo $imagick; //縮放圖片 $imagick = new Imagick('1.jpg'); $imagick->resizeImage(300, 0, Imagick::FILTER_LANCZOS, 1); $imagick->setImageFormat('jpg'); header('Content-Type: image/jpeg'); echo $imagick; //旋轉90度 $imagick = new Imagick('1.jpg'); $imagick->rotateImage(new ImagickPixel('none'), 90); $imagick->setImageFormat('jpg'); header('Content-Type: image/jpeg'); echo $imagick; //添加水印 $imagick = new Imagick('1.jpg'); $watermark = new Imagick('watermark.png'); $imagick->compositeImage($watermark, imagick::COMPOSITE_OVER, 0, 0); $imagick->setImageFormat('jpg'); header('Content-Type: image/jpeg'); echo $imagick;
2.將多張圖片合并成一張
$imagick1 = new Imagick('1.jpg'); $imagick2 = new Imagick('2.jpg'); $imagick3 = new Imagick('3.jpg'); $imagick4 = new Imagick('4.jpg'); $imagick = new Imagick(); $imagick->addImage($imagick1); $imagick->addImage($imagick2); $imagick->addImage($imagick3); $imagick->addImage($imagick4); $imagick->resetIterator(); $newImage = $imagick->appendImages(false); $newImage->setImageFormat('jpg'); header('Content-Type: image/jpeg'); echo $newImage;
3.比較兩張圖片是否相似
$imagick1 = new Imagick('1.jpg'); $imagick2 = new Imagick('2.jpg'); $metric = $imagick1->compareImages($imagick2, Imagick::METRIC_MEANABSOLUTEERROR); echo $metric[1];
4.將圖片轉換成其他格式
$imagick = new Imagick('1.jpg'); $imagick->setImageFormat('png'); header('Content-Type: image/png'); echo $imagick;
5.添加濾鏡、調整色調飽和度
//添加高斯模糊 $imagick = new Imagick('1.jpg'); $imagick->gaussianBlurImage(10, 10); $imagick->setImageFormat('jpg'); header('Content-Type: image/jpeg'); echo $imagick; //調整色調飽和度 $imagick = new Imagick('1.jpg'); $imagick->modulateImage(120, 60, 100); $imagick->setImageFormat('jpg'); header('Content-Type: image/jpeg'); echo $imagick;
以上是imagick在中文環(huán)境下的使用介紹,希望能對大家有所幫助。
下一篇css中怎么用rgba