本文主要和大家分享PHP中的画布详解,PHP中的图像处理技术GD,希望能帮助到大家。
ImageCreate(画布宽,画布高);创建基于调色板的画布。
ImageCreateTrueColor(画布宽,画布高);创建真彩画布。
ImageCreateFromFPG(图片地址);
ImageCreateFromPNG(图片地址);
ImageCreateFromGIF(图片地址);
分配颜色:如果需要在画布上使用某个颜色,应该先将颜色分配到画布上。
颜色标识:
$color=ImageColorAllocate(画布资源,R,G,B);RGB为三原色,大小为0~255;
填充画布:
ImageFill(画布资源,填充位置x,填充位置y,颜色标识);填充时对于与填充点连续且颜色相同的点进行填充。
将字符串写到画布上:
ImageString(画布资源,字体,位置x,位置y,字符串内容,字符颜色);
字体为内置字体,大小为1~5号。
字符颜色为前面颜色分配时所写的变量。
得到打开的画布大小:
ImageSX(画布资源);得到画布的宽。
ImageSY(画布资源);得到画布的高。
得到内置字体的大小:
ImageFontWidth(字体号);得到内置字体的宽度。
ImageFontHeight(字体号);得到内置字体的高低。
1.输出到图片文件。
2.直接输出到页面。
ImagePNG(画布资源[,文件地址]);
ImageJPEG(画布资源[,文件地址]);
ImageGIF(画布资源[,文件地址]);
实例:验证码
<?php header('Content-Type:image/jpg'); $chars='ABCDEFGHIJKLMNPQRSTUVWXYZ123456789'; $chars_length=strlen($chars); $code_length=4; $code=''; for($i=0;$i<$code_length;$i++){ $rand_index=mt_rand(0,$chars_length-1); $code.=$chars[$rand_index]; } //存储于session,用于验证。 session_start(); $_SESSION['captcha_code']=$code; //背景图。 $bg_file='./captcha/captcha_bg'.mt_rand(1,5).'.jpg'; $img=ImageCreateFromJPEG($bg_file); //随机分发颜色 $chars_color=mt_rand(1,2)==1?imagecolorallocate($img,0,0,0):imagecolorallocate($img,255,255,255); //将字符串写到画布上。 $img_width=ImageSX($img); $img_height=ImageSY($img); $font_width=ImageFontWidth(5)*4; $font_height=ImageFontHeight(5); $code_width=($img_width-$font_width)/2; $code_height=($img_height-$font_height)/2; ImageString($img,5,$code_width,$code_height,$code,$chars_color); ImageJPEG($img);
Atas ialah kandungan terperinci PHP中的画布详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!