当前位置:Gxlcms > PHP教程 > (进阶篇)PHP图片处理技术-GD库

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

时间:2021-07-01 10:21:17 帮助过:51人阅读

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,'./green.png'); //如果没有第二个参数,表示直接输出 //如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type header('Content-Type:image/png;'); 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,'./green.png'); //如果没有第二个参数,表示直接输出 //如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type header('Content-Type:image/png;'); imagePNG($img); //注:一个画布可以输出多次,输出为各种格式 //销毁画布资源 imageDestroy($img);

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

人气教程排行