您当前的位置: 首页 >  php

dawn

暂无认证

  • 4浏览

    0关注

    204博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

PHP(5):绘图

dawn 发布时间:2021-12-12 20:37:56 ,浏览量:4

  在应用开发中,绘图是不能绕过的一项技术,比如在用户需要的图像绘制、验证码、水印等中,PHP绘制图形比较容易,了解基本的函数即可开始编写代码。

  在php.ini中打开绘图设置:extension=gd2,重启Web服务器。

  图象的左上角坐标是 (0,0)。

  下面的代码绘制一幅图片并返回给客户端:

  客户端显示:

  PHP提供了丰富的绘图函数,在编写代码前肯定要大致了解一下函数的作用,根据需要再去查手册资料以确定详情。

  比如,绘制虚线,可以自己来绘制,也可以利用imagedashedline函数来完成,实际上,推荐的做法是利用imagesetstyle() 和 imageline() 的组合来实现。

  一、图像创建   ⑴ imagecreatetruecolor — 新建一个真彩色图像   ⑵ imagealphablending — 设定图像的混色模式

  二、为图像设置颜色   ⑴ imagecolorallocate — 为一幅图像分配颜色   ⑵ imagecolorallocatealpha — 为一幅图像分配颜色和alpha   ⑶ imagecolorat — 取得某像素的颜色索引值   ⑷ imagecolorclosest — 取得与指定的颜色最接近的颜色的索引值   ⑸ imagecolorclosestalpha — 取得与指定的颜色加透明度最接近的颜色   ⑹ imagecolorclosesthwb — 取得与给定颜色最接近的色度的黑白色的索引   ⑺ imagecolorexact — 取得指定颜色的索引值   ⑻ imagecolorexactalpha — 取得指定的颜色加透明度的索引值   ⑼ imagecolorresolve — 取得指定颜色的索引值或有可能得到的最接近的替代值   ⑽ imagecolorresolvealpha — 取得指定颜色和alpha 的索引值或有可能得到的最接近的替代值   ⑾ imagecolorsforindex — 取得某索引的颜色   ⑿ imagecolortransparent — 将某个颜色定义为透明色   ⒀ imagecolorstotal — 取得一幅图像的调色板中颜色的数目   ⒁ imagecolorset — 给指定调色板索引设定颜色   ⒂ imagecolormatch — 使一个图像中调色板版本的颜色与真彩色版本更能匹配   ⒃ imagecolordeallocate — 取消图像颜色的分配   ⒄ imagepalettecopy — 将调色板从一幅图像拷贝到另一幅   ⒅ imagepalettetotruecolor — 将基于调色板的图像转换为真彩色

  三、在图像上输出点线面   ⑴ imagesetstyle — 设定画线的风格   ⑵ imagesetthickness — 设定画线的宽度   ⑶ imagesetbrush — 设定画线用的画笔图像   ⑷ imageline — 画一条线段   ⑸ imagedashedline — 画一虚线   ⑹ imagesetpixel — 画一个单一像素   ⑺ imagerectangle — 画一个矩形   ⑻ imagepolygon — 画一个多边形   ⑼ imagearc — 画椭圆弧   ⑽ imageellipse — 画一个椭圆   ⑾ imagefill — 区域填充   ⑿ imagefilledarc — 画一椭圆弧且填充   ⒀ imagefilledellipse — 画一椭圆并填充   ⒁ imagefilledpolygon — 画一多边形并填充   ⒂ imagefilledrectangle — 画一矩形并填充   ⒃ imagefilltoborder — 区域填充到指定颜色的边界为止

  四、在图像上输出文本   ⑴ imagefontheight — 取得字体高度   ⑵ imagefontwidth — 取得字体宽度   ⑶ imageloadfont — 载入一新字体   ⑷ imageftbbox — 给出一个使用 FreeType 2 字体的文本框   ⑸ imagefttext — 使用 FreeType 2 字体将文本写入图像   ⑹ imagechar — 水平地画一个字符   ⑺ imagecharup — 垂直地画一个字符   ⑻ imagestring — 水平地画一行字符串   ⑼ imagestringup — 垂直地画一行字符串   ⑽ imagepsbbox — 给出一个使用 PostScript Type1 字体的文本方框   ⑾ imagepsencodefont — 改变字体中的字符编码矢量   ⑿ imagepsextendfont — 扩充或精简字体   ⒀ imagepsfreefont — 释放一个 PostScript Type 1 字体所占用的内存   ⒁ imagepsloadfont — 从文件中加载一个 PostScript Type 1 字体   ⒂ imagepsslantfont — 倾斜某字体   ⒃ imagepstext — 用 PostScript Type1 字体把文本字符串画在图像上   ⒄ imagettfbbox — 取得使用 TrueType 字体的文本的范围   ⒅ imagettftext — 用 TrueType 字体向图像写入文本

  五、电子信息签名   ⑴ iptcembed — 将二进制 IPTC 数据嵌入到一幅 JPEG 图像中   ⑵ iptcparse — 将二进制 IPTC 块解析为单个标记

  六、图像存储   ⑴ imagegd2 — 将 GD2 图像输出到浏览器或文件   ⑵ imagegd — 将 GD 图像输出到浏览器或文件   ⑶ imagegif — 输出图象到浏览器或文件。   ⑷ imagejpeg — 输出图象到浏览器或文件。   ⑸ imagepng — 以 PNG 格式将图像输出到浏览器或文件   ⑹ imagewbmp — 以 WBMP 格式将图像输出到浏览器或文件   ⑺ imagewebp — 将 WebP 格式的图像输出到浏览器或文件   ⑻ imagexbm — 将 XBM 图像输出到浏览器或文件   ⑼ image2wbmp — 以 WBMP 格式将图像输出到浏览器或文件

  七、图像格式转换   ⑴ jpeg2wbmp — 将 JPEG 图像文件转换为 WBMP 图像文件   ⑵ png2wbmp — 将 PNG 图像文件转换为 WBMP 图像文件

  八、截图   ⑴ imagegrabscreen — 捕获整个屏幕   ⑵ imagegrabwindow — 捕获一个窗口

  九、图像变形   ⑴ imageaffine — 返回经过仿射变换后的图像,剪切区域可选   ⑵ imageaffinematrixconcat — 合并两个矩阵   ⑶ imageaffinematrixget — 返回包含仿射变形源图像的图像,使用可选的剪裁区域   ⑷ imagerotate — 用给定角度旋转图像   ⑸ imagecrop —使用给定的区域裁剪图像   ⑹ imagecropauto — 使用可用模式自动裁剪图像   ⑺ imagescale —使用给定的新宽度和高度缩放图像

  十、图像复制   ⑴ imagecopy — 拷贝图像的一部分   ⑵ imagecopymerge — 拷贝并合并图像的一部分   ⑶ imagecopymergegray — 用灰度拷贝并合并图像的一部分   ⑷ imagecopyresampled — 重采样拷贝部分图像并调整大小   ⑸ imagecopyresized — 拷贝部分图像并调整大小   ⑹ imagecreate — 新建一个基于调色板的图像   ⑺ imagecreatefromgd2 — 从 GD2 文件或 URL 新建一图像   ⑻ imagecreatefromgd2part — 从给定的 GD2 文件或 URL 中的部分新建一图像   ⑼ imagecreatefromgd — 从 GD 文件或 URL 新建一图像   ⑽ imagecreatefromgif — 由文件或 URL 创建一个新图象。   ⑾ imagecreatefromjpeg — 由文件或 URL 创建一个新图象。   ⑿ imagecreatefrompng — 由文件或 URL 创建一个新图象。   ⒀ imagecreatefromstring — 从字符串中的图像流新建一图像   ⒁ imagecreatefromwbmp — 由文件或 URL 创建一个新图象。   ⒂ imagecreatefromwebp — 由文件或 URL 创建一个新图象。   ⒃ imagecreatefromxbm — 由文件或 URL 创建一个新图象。   ⒄ imagecreatefromxpm — 由文件或 URL 创建一个新图象。

  十一、图像资源销毁   ⑴ imagedestroy — 销毁一图像

关注
打赏
1664252102
查看更多评论
立即登录/注册

微信扫码登录

0.0567s