After using the functions provided in the GD library to dynamically draw the image, you need to output it to the browser or save the image. In PHP, the dynamically drawn canvas can be directly generated into four image formats: GIF, JPEG, PNG and WBMP. Images in these formats can be generated by calling the following four functions:
bool imagegif(resource $image[,string $filename]) //以GIF格式将图像输出 bool imagejpeg(resource $image[,string $filename[,int $quality]]) //以JPEG格式将图像输出 bool imagepng(resource $image[,string $filename]) //以PNG格式将图像输出 bool imagewbmp(resource $image[,string $filename[,int $foreground]]) //以WBMP格式将图像输出
The use of the above four functions is similar, and the use of the first two parameters is the same. The first parameter $image is required and is the image reference handle introduced earlier. If these functions provide other parameters, the original image will be streamed directly when accessed, and the dynamically output image will be displayed in the browser. But you must use the header() function to send header information before output, which is used to notify the browser to use the correct MIME type to parse the received content, so that it knows that we are sending images instead of text-like HTML. The following code snippet automatically detects the image types supported by the GD library to write a more portable PHP program. As shown below:
<?php if(function_exists("imagegif")){ //判断生成GIF格式图像的函数是否存在 header("Content-type:image/gif"); //发送标头信息设置MIME类型为image/gif imagegif($im); //以GIF格式将图像输出到浏览器 }elseif(function_exists("imageipeg")){ header("Content-type:image/jpeg"); imagejpeg($im,"",0.5); }elseif(function_exists("imagepng")){ header("Content-type:image/png"); imagepng($im); }elseif(function_exists("imagewbmp")){ header("Content-type:image/wbmp"); imagewbmp($im); }else{ die("在PHP服务器中,不支持图像"); } ?>
If you wish to save PHP dynamically drawn images on the local server, you must specify a filename string in the second optional parameter. Not only does this not output the image directly to the browser, it also eliminates the need to use the header() function to send header information. If you use the imageJPEG() function to generate an image in JPEG format, you can also specify the quality of the JPEG format image through the third optional parameter $quality. The value that this parameter can provide is from 0 (worst quality, but smallest file) to 100 (Highest quality, largest file) integer, the default value is 75. You can also provide the third optional parameter $forground to the function imageWBMP() to specify the foreground color of the image. The default color value is black.
For more related articles summarizing several functions of the PHP GD library to generate images, please pay attention to the PHP Chinese website!