Home >php教程 >php手册 >PHP中使用Imagick实现各种图片效果实例

PHP中使用Imagick实现各种图片效果实例

WBOY
WBOYOriginal
2016-06-06 20:13:251086browse

这篇文章主要介绍了PHP中使用Imagick实现各种图片效果实例,本文讲解了偏置图像、改变图片大

imagick是一个功能强大的图像处理库。 
说是翻译 其实就是简要介绍imagick 的主要功能的或者说是我觉得比较实用的功能函数的介绍 以及使用的例子。 
因为本人的英语水平有限,所以采用比较通俗或者说比较贴近应用化的语言来描述。 
先欣赏一组炫丽的效果:  

偏置图像:  

例子: 

复制代码 代码如下:

 
ini_set('display_errors',1); 
header('Content-type: image/jpeg'); 
$image = new Imagick('1.jpg'); 
$image->rollImage(20,39); 
echo $image; 
?> 

 

thumbnailImage($width,$height) 改变图片大小 
例子: 

复制代码 代码如下:


ini_set('display_errors',1); 
header('Content-type: image/jpeg'); 
$image = new Imagick('1.jpg'); 
$image->thumbnailImage(100,0); 
echo $image; 
?> 

addNoiseImage(int $noise_type [, int $channel= Imagick::CHANNEL_ALL ]); 
功能: 
Adds random noise to the image 
添加干扰素 

复制代码 代码如下:


Noise constants ( $noise_type 类型) 
imagick::NOISE_UNIFORM (integer) 
imagick::NOISE_GAUSSIAN (integer) 
imagick::NOISE_MULTIPLICATIVEGAUSSIAN (integer) 
imagick::NOISE_IMPULSE (integer) 
imagick::NOISE_LAPLACIAN (integer) 
imagick::NOISE_POISSON (integer) 
Channel constants ( $channel 类型) 
imagick::CHANNEL_UNDEFINED (integer) 
imagick::CHANNEL_RED (integer) 
imagick::CHANNEL_GRAY (integer) 
imagick::CHANNEL_CYAN (integer) 
imagick::CHANNEL_GREEN (integer) 
imagick::CHANNEL_MAGENTA (integer) 
imagick::CHANNEL_BLUE (integer) 
imagick::CHANNEL_YELLOW (integer) 
imagick::CHANNEL_ALPHA (integer) 
imagick::CHANNEL_OPACITY (integer) 
imagick::CHANNEL_MATTE (integer) 
imagick::CHANNEL_BLACK (integer) 
imagick::CHANNEL_INDEX (integer) 
imagick::CHANNEL_ALL (integer) 


例子:

复制代码 代码如下:


ini_set('display_errors',1); 
header('Content-type: image/jpeg'); 
$image = new Imagick('1.jpg'); 
$image->thumbnailImage(100,0); 
$image->addNoiseImage(imagick::NOISE_POISSON,imagick::CHANNEL_OPACITY); 
echo $image; 
?> 

  
annotateImage 创建文本图像 

例子: 

复制代码 代码如下:


$image = new Imagick(); 
$draw = new ImagickDraw(); 
$pixel = new ImagickPixel( 'gray' ); 
$image->newImage(800, 75, $pixel); 
$pixel->setColor('black'); 
$draw->setFont('Bookman-DemiItalic'); 
$draw->setFontSize( 30 ); 
$image->annotateImage($draw, 10, 45, 0, 'The quick brown fox jumps over the lazy dog'); 
$image->setImageFormat('png'); 
header('Content-type: image/png'); 
echo $image; 
?> 

blurImage(float $radius , float $sigma [, int $channel ]) 
Adds blur filter to image 图像模糊度处理 
参数: 

复制代码 代码如下:


int $channel : 
imagick::CHANNEL_UNDEFINED (integer) 
imagick::CHANNEL_RED (integer) 
imagick::CHANNEL_GRAY (integer) 
imagick::CHANNEL_CYAN (integer) 
imagick::CHANNEL_GREEN (integer) 
imagick::CHANNEL_MAGENTA (integer) 
imagick::CHANNEL_BLUE (integer) 
imagick::CHANNEL_YELLOW (integer) 
imagick::CHANNEL_ALPHA (integer) 
imagick::CHANNEL_OPACITY (integer) 
imagick::CHANNEL_MATTE (integer) 
imagick::CHANNEL_BLACK (integer) 
imagick::CHANNEL_INDEX (integer) 
imagick::CHANNEL_ALL (integer) 


复制代码 代码如下:


ini_set('display_errors',1); 
header('Content-type: image/jpeg'); 
$image = new Imagick('1.jpg'); 
$image->blurImage(5,3); 
echo $image; 
?> 


borderImage ( mixed $bordercolor , int $width , int $height ) 图片边框处理 
例子: 

复制代码 代码如下:


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

charcoalImage ( float $radius , float $sigma ) 图像素描处理 
参数说明: 
$radius :越小越薄。 
$sigma: 越大 墨越深 反之。 
例子: 

复制代码 代码如下:

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:jshint设置Next article:WordPress极简主题-buling 预览