您好,欢迎访问一九零五行业门户网

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

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库的内容。
其它类似信息

推荐信息