当前位置:Gxlcms > PHP教程 > PHP中的画布详解

PHP中的画布详解

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

本文主要和大家分享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(画布资源[,文件地址]);

实例:验证码

  1. <?php
  2. header('Content-Type:image/jpg');
  3. $chars='ABCDEFGHIJKLMNPQRSTUVWXYZ123456789';
  4. $chars_length=strlen($chars);
  5. $code_length=4;
  6. $code='';
  7. for($i=0;$i<$code_length;$i++){
  8. $rand_index=mt_rand(0,$chars_length-1);
  9. $code.=$chars[$rand_index];
  10. }
  11. //存储于session,用于验证。
  12. session_start();
  13. $_SESSION['captcha_code']=$code;
  14. //背景图。
  15. $bg_file='./captcha/captcha_bg'.mt_rand(1,5).'.jpg';
  16. $img=ImageCreateFromJPEG($bg_file);
  17. //随机分发颜色
  18. $chars_color=mt_rand(1,2)==1?imagecolorallocate($img,0,0,0):imagecolorallocate($img,255,255,255);
  19. //将字符串写到画布上。
  20. $img_width=ImageSX($img);
  21. $img_height=ImageSY($img);
  22. $font_width=ImageFontWidth(5)*4;
  23. $font_height=ImageFontHeight(5);
  24. $code_width=($img_width-$font_width)/2;
  25. $code_height=($img_height-$font_height)/2;
  26. ImageString($img,5,$code_width,$code_height,$code,$chars_color);
  27. ImageJPEG($img);

以上就是PHP中的画布详解的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行