Maison  >  Article  >  développement back-end  >  (进阶篇)PHP图片处理技术-GD库

(进阶篇)PHP图片处理技术-GD库

黄舟
黄舟original
2017-02-07 09:12:332719parcourir

1、开启GD扩展

extension=php_gd2.dll

Apache restart

2、示例:

场景:

制作500×300的绿色图片

①创建画布

画布,一种资源型数据。可以操作的图像资源。

创建新画布(新建)

 ImageCreate(宽,高),创建基于调色板的画布。

 imageCreateTrueColor(宽,高);创建真彩色的画布。

基于图片创建画布(打开)

 imageCreateFromJPEG(图片地址);

 imageCreateFromPNG(图片地址);

 imageCreateFromGIF(图片地址);

②操作画布

分配颜色:如果需要在画布上使用某个颜色,应该先将颜色分配到画布上。

使用函数:

 颜色标识 = imageColorAllocate(画布,R,G,B);

颜色的表示方式:

RGB

③填充画布:将填充点,连续并且颜色相同的点进行填充(替换)

使用函数:

 imageFill(画布, 填充位置x, 填充位置Y,颜色标识)完成

位置采用坐标进行管理:

原点:0,0,画布的左上角。

向右,x轴增加,向下Y轴增加。

右下角坐标:width-1,height-1

④输出画布

将画布中处理好的图样信息,输出出来。


典型的:

1输出到图片文件。

2直接输出。

使用函数:

imagePNG(画布[, 文件地址]):

imageJPEG();

imageGIF();

如果没有第二个参数,表示直接输出。

注:如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:

使用指令Content-type;

一个画布可以输出多次,输出为各种格式

⑤销毁画布资源

imageDestroy()


示例代码:

<?php
//例如:制作500×300的绿色图片
$width=500;
$height=300;
//创建真彩色的画布
$img=imageCreateTrueColor($width,$height);
// var_dump($img);    //测试结果: resource(2) of type (gd)   $img是一个资源类型
//使用函数imageColorAllocate(画布,R,G,B)分配颜色,颜色的表示方式:R  G  B
$green=imageColorAllocate($img, 0x0, 0xff, 0x0);
//填充画布,原点:0,0,画布的左上角,imageFill(画布, 填充位置x, 填充位置Y,颜色标识)完成
imageFill($img,0,0,$green);
//输出画布,直接输出到当前路径下为图片文件,格式有PNG、JPEG、GIF
//imagePNG($img,&#39;./green.png&#39;);  //如果没有第二个参数,表示直接输出
//如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type
header(&#39;Content-Type:image/png;&#39;);
imagePNG($img);
//注:一个画布可以输出多次,输出为各种格式
//销毁画布资源
imageDestroy($img);


示例代码:

<?php
//例如:制作500×300的绿色图片
$width=500;
$height=300;
//创建真彩色的画布
$img=imageCreateTrueColor($width,$height);
// var_dump($img);    //测试结果: resource(2) of type (gd)   $img是一个资源类型
//使用函数imageColorAllocate(画布,R,G,B)分配颜色,颜色的表示方式:R  G  B
$green=imageColorAllocate($img, 0x0, 0xff, 0x0);
//填充画布,原点:0,0,画布的左上角,imageFill(画布, 填充位置x, 填充位置Y,颜色标识)完成
imageFill($img,0,0,$green);
//输出画布,直接输出到当前路径下为图片文件,格式有PNG、JPEG、GIF
//imagePNG($img,&#39;./green.png&#39;);  //如果没有第二个参数,表示直接输出
//如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type
header(&#39;Content-Type:image/png;&#39;);
imagePNG($img);
//注:一个画布可以输出多次,输出为各种格式
//销毁画布资源
imageDestroy($img);

以上就是(进阶篇)PHP图片处理技术-GD库的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn