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

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

这篇文章主要介绍了服务器端编程语言(专业超文本预处理器的缩写)中使用意象实现各种图片效果实例,本文讲解了偏置图像、改变图片大小、创建文本图像、图像模糊度处理等内容,需要的朋友可以参考下

意象是一个功能强大的图像处理库。

说是翻译其实就是简要介绍意象的主要功能的或者说是我觉得比较实用的功能函数的介绍以及使用的例子。

因为本人的英语水平有限,所以采用比较通俗或者说比较贴近应用化的语言来描述。

先欣赏一组炫丽的效果:

偏置图像:

例子:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$image-rollImage(20,39);

echo $ image

缩略图图像($宽度,$高度)改变图片大小

例子:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$image-thumbnailImage(100,0);

echo $ image

addNoiseImage(int $noise_type [,int $ CHANNEL=Imagick:CHANNEL _ ALL]);

功能:

向图像添加随机噪声

添加干扰素

复制代码代码如下:

噪声常数(噪音类型类型)

imagick:NOISE_UNIFORM(整数)

imagick:NOISE_GAUSSIAN(整数)

imagick:NOISE _ multiplici vegaussian(整数)

imagick:NOISE_IMPULSE(整数)

imagick:NOISE_LAPLACIAN(整数)

imagick:NOISE_POISSON(整数)

通道常数($通道类型)

imagick:CHANNEL_UNDEFINED(整数)

imagick:CHANNEL_RED(整数)

imagick:CHANNEL_GRAY(整数)

imagick:CHANNEL_CYAN(整数)

imagick:CHANNEL_GREEN(整数)

imagick:CHANNEL_MAGENTA(整数)

imagick:CHANNEL_BLUE(整数)

imagick:CHANNEL_YELLOW(整数)

imagick:CHANNEL_ALPHA(整数)

imagick:CHANNEL_OPACITY(整数)

imagick:CHANNEL_MATTE(整数)

imagick:CHANNEL_BLACK(整数)

imagick:CHANNEL_INDEX(整数)

imagick:CHANNEL_ALL(整数)

例子:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( 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-set color(“黑色”);

$ draw-set字体(“Bookman-de italic”);

$ draw-set fontsize(30);

$image-annotateImage($draw,10,45,0,敏捷的棕色狐狸跳过懒狗);

$ image-setImageFormat( png );

header( Content-type:image/png );

echo $ image

blurImage(float $radius,float $sigma [,int $channel ])

给图像添加模糊滤镜图像模糊度处理

参数:

复制代码代码如下:

int $channel:

imagick:CHANNEL_UNDEFINED(整数)

imagick:CHANNEL_RED(整数)

imagick:CHANNEL_GRAY(整数)

imagick:CHANNEL_CYAN(整数)

imagick:CHANNEL_GREEN(整数)

imagick:CHANNEL_MAGENTA(整数)

imagick:CHANNEL_BLUE(整数)

imagick:CHANNEL_YELLOW(整数)

imagick:CHANNEL_ALPHA(整数)

imagick:CHANNEL_OPACITY(整数)

imagick:CHANNEL_MATTE(整数)

imagick:CHANNEL_BLACK(整数)

imagick:CHANNEL_INDEX(整数)

imagick:CHANNEL_ALL(整数)

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$image-blurImage(5,3);

echo $ image

边框(混合$bordercolor,int $width,int $height)图片边框处理

例子:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( 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:越大墨越深反之。

例子:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ color=new ImagickPixel();

$color-setColor(rgb(220,220,220));

$image-borderImage($color,5,4);

$ image-charcoalgimage(0.0001,0.001);

//$image-blurImage(5,5,imagick:CHANNEL _ GREEN);

echo $ image

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

参数说明:删除一定范围的图像区域

就不做参数说明,一看便知。

彩色图像(混合$彩色,混合$不透明)混合填充颜色

$着色颜色

$opacit透明度

例子:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

/*

胶卷底片效果

*/

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ image-否定图像(false);

$ image-colorifieimage( # 000 ,1.0);

echo $ image

embossImage ( float $radius,float $sigma)

功能:返回一个灰度级三维(三维的缩写)图像不太好。

例子:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$image-embossImage(1,1);

echo $ image

(两张效果图)

电影(无效)

功能:创建图像倒影(垂直翻转)

例子:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ image-flip image();

echo $ image

流动图像(空白)

功能:图像水平横向翻转

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ image-flop image();

echo $ image

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

功能:创建三维(三维的缩写)图像边框

参数说明:

$matte_color:颜色

$inner_bevel:边框内部倾斜度

$outer_bevel:外部边框倾斜度

例子:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ color=new ImagickPixel();

$color-setColor(rgb(220,220,220));

$image-frameImage($color,11,11,1,10);

echo $ image

注意事项:

$宽度(宽度)不能小于$inner_bevel(边框内部倾斜度)

Imagick:gamma图像(float $ gamma[,int $ CHANNEL=Imagick:CHANNEL _ ALL])

功能:调整图像灰度系数

参数说明:

浮动$gamma:灰度系数值

$频道默认为Imagick:CHANNEL_ALL

Imagick:CHANNEL_ALL

例子1:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ image-gammaImage(30);

echo $ image

例子2:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ image-gammaImage(30);

echo $ image

Gaussian luimage(float $ radius,float $sigma [,int $ CHANNEL=Imagick:CHANNEL _ ALL])

功能:高斯模糊处理类似于照片的高斯模糊

参数说明:

浮动$半径:高斯模糊的半径,像素,不包括中心象素。

浮动美元西格玛:高斯的标准偏差,以像素为单位。我觉得这个参数最重要。

int $channel:图像颜色模式。

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ image-高斯bluimage(30,3);

echo $ image

levelImage ( float $blackPoint,float $gamma,float $whitePoint [,int $ CHANNEL=Imagick:CHANNEL _ ALL])

功能:调整图像的色阶(调整图像的色阶)

参数说明

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$image-levelImage(4,4,4);

echo $ image

例子2:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$image-levelImage(200,200,200,imagick:CHANNEL _ GREEN);

echo $ image

放大图像(空白)

功能说明:简便的图像等比例放大2倍(是一种方便的方法,可将图像按比例缩放至其原始大小的两倍。)

例子:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ image-放大图像();

echo $ image

medianFilterImage ( float $radius)

功能:特是的滤镜有点像用计算机修改(图片或照片)调色刀滤镜

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ color=new ImagickPixel();

$color-setColor(rgb(220,220,220));

$ image-median filter image(5);

echo $ image

minifyImage(void)

功能:图小缩小一倍(将图像按比例缩放至其一半大小)

例子:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ image-minifyImage();

echo $ image

调制图像(浮点$亮度,浮点$饱和度,浮点$色调)

功能:控制调整图像的亮度、饱和度、色调。

参数说明:

浮动$亮度:亮度

浮动$饱和度:饱和度

浮动$色调色调

例子1:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$image-modulateImage(100,1,100);

echo $ image

例子2:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$image-modulateImage(250,1,250);

echo $ image

motionbluimagemotionbluimage(float $ radius,float $sigma,float $angle [,int $ CHANNEL=Imagick:CHANNEL _ DEFAULT])

功能:模拟运动模糊(模拟运动模糊),类似用计算机修改(图片或照片)的动感模糊滤镜功能

参数说明:

浮动$半径:高斯半径,不包过中心像素。

浮动美元西格玛:标准偏差的高斯,以像素为单位。【重要参数】

浮动$角度:模糊角度。

int $channel:图像颜色模式。默认为Imagick:CHANNEL_DEFAULT

例子1:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ color=new ImagickPixel();

$color-setColor(rgb(220,220,220));

$ image-motionblurgimage(61,10,10);

echo $ image

例子2:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ color=new ImagickPixel();

$color-setColor(rgb(220,220,220));

$ image-motionblurgimage(201,10,100);

echo $ image

oilPaintImage ( float $radius):

功能说明:模拟油画滤镜(模拟一幅油画)

例子:

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ color=new ImagickPixel();

$color-setColor(rgb(220,220,220));

$ image-oipp amination(1);

echo $ image

radialbluimage(float $ angle[,int $ CHANNEL=Imagick:CHANNEL _ ALL])

功能:径向模糊(径向模糊图像)

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ color=new ImagickPixel();

$color-setColor(rgb(220,220,220));

$ image-radialbluimage(30);

echo $ image

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

功能说明:创建三维(三维的缩写)图像按钮(创建模拟的三维(three dimension的缩写)按钮效果)

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

ini_set(display_errors ,1);

标头( Content-type:image/JPEG );

$ image=new Imagick( 1。jpg’);

$ color=new ImagickPixel();

$color-setColor(rgb(220,220,220));

$image-raiseImage(10,10,3,5,6);

echo $ image

附1:要求缩小图片尺寸、增加半透明边框,读入exif信息,按指定要求显示在图片上

复制代码代码如下:

$ towidth= 500

$ toheight= 700//设置图片调整大小时允许的最大宽度和高度

$sourcefile= ./b . jpg ;//定义一个图像文件路径

//$image-writeImage( ./b . jpg。bak’);//可以备份这个图片

$ my image=new Imagick($源文件);//读入该图像文件

$ EXIF对象=我的_ EXIF($我的图像);//自写函数,读取exif信息(拍摄数据),按自己的要求排列exif信息,返回对象

//$ my image-setImageFormat( JPEG );//把图片转为使用联合图象专家组文件交换格式存储的编码图像文件扩展名格式

$ my image-setCompressionQuality(100);//设置使用联合图象专家组文件交换格式存储的编码图像文件扩展名压缩质量,1 - 100

$ my image-enhance image();//去噪点

$ source width=$ my image-getimage width();//获取读入图像原始大小

if ( $sourcewidth $towidth)

{

$myimage-scaleImage( $towidth,$toheight,true);//调整图片大小

}

$ my image-raiseiimage(8,8,0,0,1);//加半透明边框

$ resize width=$ my image-getimage width();//读出调整之后的图片大小

$ resize height=$ my image-getimage height();

$ retail=new ImagickDraw();//实例化一个绘画对象,绘制半透明黑色背景给exif信息用

$ retail-setFillColor(新ImagickPixel( # 000000 );//设置填充颜色为黑色

$ retail-setfillputopacity(0.6);//填充透明度为0.6,参数0.1-1,1为不透明

$ retail-rectangle($ resize width/2-190,$resizeheight - 50,$resizewidth/2 190,$ resize height-12);//绘制矩形参数,分别为左上角x、y,右下角x、y

$我的图像-绘制图像($撤退);//确认到图像中绘制该矩形框

$ draw=new ImagickDraw();//实例化一个绘画对象,绘制exif文本信息嵌入图片中

$draw-setFont( ./贤黑。TTF’);//设置文本字体,要求TrueType字型文件字体或者ttc字体,可以绝对或者相对路径

$ draw-set fontsize(11);//设置字号

$ draw-sette对齐(2);//文字对齐方式,2为居中

$ draw-setFillColor( # FFFFFF );//文字填充颜色

$myimage-annotateImage( $draw,$resizewidth/2,$resizeheight - 39,0,$ EXIF对象-第1行);//绘制第一行文本,居中

$myimage-annotateImage( $draw,$resizewidth/2,$resizeheight - 27,0,$ EXIF对象-第2行);//绘制第二行文本,居中

$myimage-annotateImage( $draw,$resizewidth/2,$resizeheight - 15,0,$ EXIF对象-第3行);//绘制第三行文本,居中

/*输出带有标题的图像*/

标头( Content-type:image/JPEG );//php文件输出哑剧类型为联合图象专家组图片

echo $ myimage//在当前服务器端编程语言(专业超文本预处理器的缩写)页面输出图片

//$image-writeImage( ./b .新的。jpg’);//如果图片不需要在当前服务器端编程语言(专业超文本预处理器的缩写)程序中输出,使用写入图片到磁盘函数,上面的设置页眉也可以去除

$ my image-clear();

$ my image-destroy();//释放资源

//自写函数,读取exif信息,返回对象

函数my_exif( $myimage)

{

$exifArray=array( exif:Model=未知, exif:DateTimeOriginal=未知, EXIF:揭露计划=未知, exif:FNumber=0/10 , exif:曝光时间=0/10 , exif:ISOSpeedRatings=未知,

exif:计量模式"="未知, exif:Flash=关闭闪光灯, exif:FocalLength=未知, exif:ExifImageWidth=未知, exif:ExifImageLength=未知 );//初始化部分信息,防止无法读取照片exif信息时运算发生错误

$ exi farray=$ my image-get image properties( EXIF:*);//读取图片的exif信息,存入$exifArray数组

//如果需要显示原数组可以使用print _ r($ exifArray);

$r-row1=相机: .$ exifArray[ EXIF:模型];

$r行1=$r行1。 拍摄时间: .$ exi farray[ EXIF:datetime original ];

开关($ exifArray[ EXIF:揭露程序])

{

案例1:

$ exifArray[ EXIF:暴露程序]=手动(M)’;

打破;//手动控制

案例二:

$ exifArray[ EXIF:暴露程序]=程序自动(P)’;

打破;//程序正常

案例三:

$ exifArray[ EXIF:暴露程序]=光圈优先(A,Av)’;

打破;//孔径优先级

案例4:

$ exifArray[ EXIF:暴露程序]=快门优先(S,Tv)’;

打破;//快门优先级

案例5:

$ exifArray[ EXIF:暴露程序]=慢速快门;

打破;//程序创意(慢程序)

案例6:

$ exifArray[ EXIF:暴露程序]=运动模式;

打破;//程序动作(高速程序)

案例7:

$ exifArray[ EXIF:暴露程序]=人像;

打破;//纵向

案例8:

$ exifArray[ EXIF:暴露程序]=风景;

打破;//风景

默认值:

$ exifArray[ EXIF:暴露程序]=其它;

}

$r行1=$r行1。 模式: .$ exifArray[ EXIF:曝光计划];

$ exi farray[ EXIF:f数]=explode(/,$ exi farray[ EXIF:f数]);

$ exi farray[ EXIF:f数]=$ exi farray[ EXIF:f数][0]/$ exi farray[ EXIF:f数][1];

$r-row2=光圈:F/ .$ exi farray[ EXIF:f数];

$ exi farray[ EXIF:暴露时间]=explode(/,$ exi farray[ EXIF:暴露时间]);

if(($ exifArray[ EXIF:暴露时间][0]/$ exifArray[ EXIF:暴露时间][1])=1)

{

$ exi farray[ EXIF:暴露时间]=sprintf( %。1 fs ,(float)$ exi farray[ EXIF:暴露时间][0]/$ exi farray[ EXIF:暴露时间][1]);

}否则

{

$ exi farray[ EXIF:暴露时间]=sprintf( 1/% ds ,$ exi farray[ EXIF:暴露时间][1]/$ exi farray[ EXIF:暴露时间][0]);

}

$r-row2=$r-row2 . 快门: .$ exi farray[《EXIF:曝光时间》];

$r-row2=$r-row2 .ISO: .$ exi farray[ EXIF:ISOSpeedRatings ];

$ exi farray[ EXIF:ExposureBiasValue ]=explode(/,$ exi farray[ EXIF:ExposureBiasValue ]);

$ exi farray[ EXIF:ExposureBiasValue ]=sprintf( % 1.1 fev ,((float)$ exi farray[ EXIF:ExposureBiasValue ][0]/$ exi farray[ EXIF:ExposureBiasValue ][1]* 100)/100);

if((float)$ exifArray[ EXIF:ExposureBiasValue ]0)

{

$ exi farray[ EXIF:ExposureBiasValue ]= .$ exi farray[ EXIF:ExposureBiasValue ];

}

$r-row2=$r-row2 . 补偿: .$ exi farray[ EXIF:ExposureBiasValue ];

开关($ exifArray[ EXIF:测光模式])

{

案例0:

$ exi farray[ EXIF:测光模式]=未知;

打破;

案例1:

$ exi farray[ EXIF:测光模式]=矩阵;

打破;

案例二:

$ exi farray[ EXIF:测光模式]=中央重点平均;

打破;

案例三:

$ exi farray[ EXIF:测光模式]=点测光;

打破;

案例4:

$ exi farray[ EXIF:测光模式]=多点测光;

打破;

默认值:

$ exi farray[ EXIF:测光模式]=其它;

}

$r-row2=$r-row2 . 测光: .$ exifArray[ EXIF:测光模式];

开关($exifArray[exif:Flash])

{

案例1:

$exifArray[exif:Flash]=开启闪光灯;

打破;

}

$r-row2=$r-row2 . .$ exi farray[《EXIF:闪电侠》];

if($ exifArray[ EXIF:聚焦35mm胶片])

{

$r-row3=等效焦距: .$ exi farray[《EXIF:聚焦35毫米胶片》].mm’;

}否则

{

$ exi farray[ EXIF:焦距]=explode(/,$ exi farray[ EXIF:焦距]);

$ exi farray[ EXIF:焦距]=sprintf( % 4.1 FMM ,(double)$ exi farray[ EXIF:焦距][0]/$ exi farray[ EXIF:焦距][1]);

$r-row3=焦距: .$ exifArray[ EXIF:焦距];

}

$r-row3=$r-row3 . 原始像素: .$ exifArray[ EXIF:ExifImageWidth ].x .$ exifArray[ EXIF:ExifImageLength ].px’;

if ( $exifArray[exif:Software])

{

$r-row3=$r-row3 . 后期: .$ exifArray[ EXIF:软件];

}

返回$ r;

}

附2:处理图片水印

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

//获取水印图片

$ logo=new Imagick( logo。png’);

$logo-setImageResolution(0.01,0.03);

//创建一个意象对象,同时获取要处理的源图

$ im=new Imagick( old _ large _ img _ 2。jpg’);

//获取源图片宽和高

$ srcWH=$ im-getImageGeometry();

//图片等比例缩放宽和高设置

if($srcWH[width]710){

$ srcW[ width ]=710;

$ srcH[ height ]=$ srcW[ width ]/$ srcWH[ width ]* $ srcWH[ height ];

}否则{

$ srcW[ width ]=$ srcWH[ width ];

$ srcH[ height ]=$ srcWH[ height ];

}

//按照比例进行缩放

$ im-缩略图($ srcW[ width ],$srcH[height],true);

//按照缩略图大小创建一个有颜色的图片

$ canvas=new Imagick();

$ canvas-new image($ srcW[ width ],$srcH[height], black , jpg );//粉色、黑色

//添加水印

$im-compositeImage($logo,Imagick:COMPOSITE_OVER,$srcW[width]-280,$ srcH[ height ]-77);

$ canvas-setcompressionquality(91);

//合并图片

$canvas-compositeImage( $im,imagick:COMPOSITE_OVER,0,0);

//输出图片

header( Content-Type:image/jpg );

回声$画布

//生成图片

$ canvas-write image( test _ img/old _ large _ img _ 2 _ 96。jpg’);

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