Home > Article > Backend Development > (Advanced) PHP image processing technology-GD library
1. Enable GD extension
extension=php_gd2.dll
Apache restart
2. Example:
Scenario:
Make a 500×300 green picture
①Create canvas
Canvas, a kind of resource data. Image resources that can be manipulated.
Create a new canvas (new)
ImageCreate(width, height), create a canvas based on the palette.
imageCreateTrueColor(width, height); Create a true color canvas.
Create canvas based on image (open)
imageCreateFromJPEG(image address);
imageCreateFromPNG(image address);
imageCreateFromGIF(image address);
②Operation canvas
Assign color: If you need to use a certain color on the canvas, you should assign the color to the canvas first.
Use function:
Color identification = imageColorAllocate(canvas, R, G, B);
Color representation:
RGB
③Fill the canvas: Fill (replace) the filling points with consecutive points with the same color
Use the function:
imageFill(canvas, filling position x, filling position Y, color Logo) Complete
The position is managed using coordinates:
Origin: 0, 0, the upper left corner of the canvas.
To the right, the x-axis increases, and down the Y-axis increases.
Coordinates of the lower right corner: width-1, height-1
④Output canvas
Output the processed pattern information in the canvas.
Typical:
1Output to image file.
2Direct output.
Use function:
imagePNG(canvas[, file address]):
imageJPEG();
imageGIF();
If there is no second parameter, it means direct output.
Note: If it is output directly to the browser, you need to inform the browser that the type of response data should be a PNG format image:
Use the command Content-type;
a The canvas can be output multiple times in various formats
⑤Destroy canvas resources
imageDestroy()
Sample code:
<?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);
Sample code:
<?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);
The above is the content of (Advanced) PHP image processing technology-GD library. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!