验证码相信大家都不会陌生,在网站登录的时候经常会遇到。那么你知道这个验证码是如何实现的吗?下面小千就为大家介绍一下这个GD库,还有一些常见的图片水印也是用GD实现的哦!

GD库是什么?

GD库是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片,也可以给图片加水印。

准备使用GD库

安装配置GD库 1.编辑PHP配置文件,设置extension_dir=‘ext所在的目录’。 2.开启extension=php_gd2.dll,去掉前面的分号。 3.重启服务器。

如何使用GD库?

创建画布 --分配颜色 --开始绘图 --通知浏览器以图像的形式显示 --输出图像或者保存 --销毁资源

创建画布

imagecreatetruecolor($width, $height);

水平写一个字符 imagechar($image, $font, $x, $y, $c, color)垂直写一个字符imagecharup(color) 垂直写一个字符 imagecharup(color)垂直写一个字符imagecharup(image, $font, $x, $y, $c, color)水平书写字符串imagestring(color) 水平书写字符串 imagestring(color)水平书写字符串imagestring(image, $font, $x, $y, $string, color)垂直书写字符串imagestringup(color) 垂直书写字符串 imagestringup(color)垂直书写字符串imagestringup(image, $font, $x, $y, $string, $color)

用jpeg的方式显示 header(“content-type:image/jpeg”); 用png的方式显示 header(‘content-type:image/png’); 用gif的方式显示 header(‘content-type:image/gif’);

GD库生成验证码

生成随机颜色可以使用mt_rang(0,255);方法进行生成

在设置上面混淆效果的时候可以使用imagefilledrectangle($image, $x1, $y1, $x2, $y2, $color)方法即可完成 并且其中参数分别为:image 创建画布变量 font 字体大小 1,2,3,4 , 5, x1,y1 位置(图像左上角为 0, 0) x2,y2 填充矩形宽度和高度 color分配颜色变量

同时在其中需要设置imagettftext来修改修改输出文字的字体

以上就是GD生成验证码的步骤介绍了,如果有问题可以在评论中留言,大家一起讨论。

本文来自千锋教育,转载请注明出处。

Web前端技巧分享:教你用GD库生成验证码相关推荐

  1. PHP生产一个验证码图片,PHP使用GD库生成验证码图片,实现图片验证

    本文记录从php 下载配置GD图片生成库 到使用该库生成验证码图片,网页上实现验证码. 使用技术: php使用GD库绘图 [php版本7.3] php session 缓存 实现最终效果: 一. 配置 ...

  2. PHP 使用GD库生成验证码 在图像上绘制汉字

    PHP 并不仅限于创建 HTML 输出, 它也可以创建和处理包括 GIF, PNG, JPEG, WBMP 以及 XPM 在内的多种格式的图像. 更加方便的是,PHP 可以直接将图像数据流输出到浏览器 ...

  3. web前端技巧分享:vue过滤器的那点事!

    关于vue的过滤器,其实在vue1.0的时候是内置了过滤器的,但是自从到了2.0之后就被去掉了,但是我们可能还会使用到,所以就需要自己定义过滤器了,下面小千就带你了解一下如何定义过滤器和过滤器都有哪些 ...

  4. PHP:GD库 生成验证码图片

    文章来源:http://www.cnblogs.com/hello-tl/p/7592998.html <?php /*** __construct($new):构造函数创建一张图片$new-& ...

  5. 好程序员Web前端教程分享JavaScript开发技巧

    好程序员Web前端教程分享JavaScript开发技巧,相信知道Web前端的小伙伴都熟悉,Javascript的很多扩展的特性是的它变得更加的犀利,同时也给予程序员机会创建更漂亮并且更让用户喜欢的网站 ...

  6. vue如何获取年月日_好程序员web前端教程分享Vue相关面试题

    好程序员web前端教程分享Vue相关面试题,Vue是一套构建用户界面的渐进式框架,具有简单易用.性能好.前后端分离等优势,是web前端工程师工作的好帮手,也是企业选拔人才时考察的重点技能.接下来好程序 ...

  7. 好程序员web前端培训分享做H5页面需要学什么

    好程序员web前端培训分享做H5页面需要学什么,很多人问过我这个问题,而问这个问题的人基本上都是刚听说过h5,处在懵懂的阶段,他们往往会被一些网上炫酷页面所吸引,开始的目的也很简单,能通过自己的努力做 ...

  8. 好程序员web前端教程分享网页设计需要学那些东西?

    好程序员web前端教程分享网页设计需要学那些东西:初次接触或者想要进入网页设计行业的朋友会经常分不清楚web前端与网页设计之间的区别,不知道网页设计要学什么,web前端要学什么,因此感到很迷茫,下面老 ...

  9. web前端培训分享:面向对象中类和对象的定义是什么?

    在学习web前端技术的时候,我们接触的最多的便是面向对象这一块,其实很多编程技术都有用到这个现象,下面我们就为大家详细的介绍一下面向对象中类和对象的定义是什么? web前端培训分享:面向对象中类和对象 ...

最新文章

  1. 深入理解PHP内存管理之谁动了我的内存
  2. 用python画爱心动图_编写Python爬虫抓取暴走漫画上gif图片的实例分享
  3. Spring源码解析-三级缓存与循环依赖,nginx架构图
  4. 数据中心业界需要新的设计标准
  5. spring boot之session store type is 'null'
  6. fillcolor是什么意思_fill是什么意思
  7. 转:RabbitMQ 消息队列特性知多少
  8. python调用百度地图画轨迹图_[宜配屋]听图阁
  9. 统计消息总数_2019年度我国出国留学人员总数为70.35万人
  10. HDU 1686 Oulipo【kmp求子串出现的次数】
  11. 昇腾万里 | 猫咪+AI,训练推理一秒get√
  12. Word文档批量替换工具
  13. hcfax2e伺服驱动器说明书_交流伺服电机驱动器使用说明书.-共14页
  14. 乐高机器人纲要_乐高机器人校本课程纲要
  15. Python:保存文件npy格式
  16. python 点对点语音,Python(PyS60)实现简单语音整点报时
  17. 数码相机成像原理CCD和CMOS及相机模组分析
  18. iphone8位置无法连接服务器,iphone8无法连接App Store怎么办?沈阳苹果维修点教你轻松解决!...
  19. 骁龙435/MSM8940处理器详细规格(补充说明)
  20. 路由交换技术-交换机vlan,trunk,access等配置,保证其连通性,telnet远程登陆配置,osf协议配置,默认路由。

热门文章

  1. KDD 18论文解读 | 斯坦福大学提出全新网络嵌入方法 — GraphWave
  2. 华为手机连电脑_华为手机微信聊天记录如何导出电脑的四大方法
  3. 打包filemanager-webpack-plugin的报错和解决
  4. 微型计算机字,在微型计算机的汉字系统中,一个汉字的内码占 – 手机爱问
  5. ElasticSearch出现java.lang.IllegalStateException: duplicate plugin: - Plugin information:
  6. spring配置数据源(加载properties文件)
  7. java遍历文件夹并把所有文件放到list中
  8. Windows10 家庭版——开启Hyper-V虚拟机
  9. Match Points
  10. Extended Twin Composite Number