PHP学习笔记(5)GD库画验证码】的更多相关文章

<?php header("content-type:image/png"); $width = 500; $height = 500; $img = imagecreatetruecolor($width, $height); $string = "hello"; //7种颜色,存入数组 $red = imagecolorallocate($img, 255, 0, 0); $white = imagecolorallocate($img, 255, 255…
上篇文章我们已经学习了一个 GD 库的应用,那就是非常常用的制作验证码的功能.不过在现实的业务开发中,这种简单的验证码已经使用得不多了,大家会制作出更加复杂的验证码来使用.毕竟现在的各种外挂软件已经能够轻松地破解这种简单的图片验证码了.当然,我们也可以简单地对他进行变形,比如使用中文然后按顺序点击之类的,这些都比较简单地就能实现.更复杂的验证码则推荐使用一些开源的库或者api来实现. 今天,我们将继续学习 GD 库的一些常用的应用.依然是通过一些小例子来进行学习,同样也是我们在日常开发中非常常用…
在日常的开发过程中,GD 库最常用的功能就是帮我们对图片进行一些处理,当然,除了处理已有的图片之外,它也可以直接来画图,就像我们最常见的图片验证码.今天的内容主要就是和画图有关,所以最后我们也会做一个非常简单的图片验证码的例子. 创建图片并指定颜色 首先,我们要先创建一个图片的画布.就和 PhotoShop 一样,任何的绘图都要在一张画布下进行. // 创建一个 200X200 的图像 $img = imagecreatetruecolor(200, 200); // 分配颜色 $white =…
又到了一个大家非常熟悉的库了,对于图像图形的处理来说,GD 库是 PHPer 们绕不过去的一道坎.从很早很早的 CMS 或者 Discuz 时代,各类开源软件在安装的时候就会明确地指出 GD 库是它们必备的一个扩展.当然,在现在的 PHP 版本中,相信大家也不会在编译的时候忽略掉这个库.不管你是为图片加水印.生成缩略图还是制作验证码图片,都离不开 GD 库的身影. 当然,我们还是由浅入深地学习一些 GD 库中的常用或好玩的函数. 当前环境中的 GD 库信息 首先,我们可以查看下当前 PHP 环境…
燕十八 公益PHP培训 课堂地址:YY频道88354001 学习社区:www.zixue.it php画图:比如说验证码,缩略图,加水印都要用到GD库,所以要开启gd2库,才能用 首先找到php.ini中extension=php_gd2.dll  去掉前边的分号,然后重启apache,创建图片就可以用了 /* 画图的一般步骤: 1.创建画布 2.创建颜料 3.画图或者写字 4.保存 5.销毁资源 */ //创建画布 $img=imagecreatetruecolor(300,200); //创…
一.数据库 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等.离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式: 归档:NSKeyedArchiver 偏好设置:NSUserDefaults plist存储:writeToFile 上述的使用可以参考iOS学习笔记15-序列化.偏好设置和归档,但上述三种方法都有一个致命的缺点,那就是都无法存储大批量的数据,有性能的问题,在这个时候就是使用数据库的时候. 数据库(Database)是按照数据结构来组织.存储和管理数据…
     <?php //加header头,不然浏览器乱码 header("content-type: image/png"); //创建画布资源 $img = imagecreatetruecolor(500, 500); //创建颜色 $green = imagecolorallocate($img, 0, 255, 0); //画椭圆 // imagefilledellipse($img, 200, 200, 100, 100, $green); $r = 100;//半径…
开始学习OpenGL,参考的是著名的LearnOpenGL这个网站,在这里做一些总结性的记录,只是方便自己日后查找或者记录自己的一些拓展思考,关于OpenGL的具体内容请移步: https://learnopengl-cn.github.io/ 或英文原版:https://learnopengl.com/ 配置环境 LearnOpenGL中使用了GLFW和GLAD两个库来配置环境,原文已经很详细地列出了所有步骤,就不再多说了,获取两个库之后在Visual Studio的项目属性中的VC++目录中…
画刷的使用方法 需要包含的文件:<wincodec.h> 需要包含的库: "windowscodecs.lib" 资源网址:    https://docs.microsoft.com/zh-cn/windows/win32/direct2d/direct2d-brushes-overview   1.颜色——D2D_COLOR_F 结构体 D2D_COLOR_F 结构体的原型是D3DCOLORVALUE typedef struct _D3DCOLORVALUE { fl…
以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是对el表达式的扩展,是一种标签语言,使用起来比较方便,他不属于jsp内置的标签,使用之前需要导包,以及指定标签库,在Myeclipse中,内置了jstl的jar包,所以不需要导包这个操作. JSTL有四个标签库,常用的只有一个core,其他的几乎不怎么用,使用前首先要导入标签库,代码如下: <%@…
最近需要做一个基于Zigbee室内无线定位的系统,受到TI公司ZigBee Sensor Monitor软件的启发,打算用OpenGL来做一个3D显示空间内物体位置的程序.学习阶段选择VS2010+OpenGL,而主机确定是用raspberry pi,到时候需要移植到ES版本. 选择OpenGL看中的就是移植性强,至于其效果和D3D孰强孰弱也很难比较.一则恐怕目前没有使用D3D的机会:二则3D计算机图像渲染效果除了软件还需要硬件支持. 废话不多说,从官网下了OpenGL的一个库GLUT,一共就5…
1.一种标签语言 day13 l  JSTL标签库(重点) l  自定义标签(理解) l  MVC设计模式(重点中的重点) l  Java三层框架(重点中的重点) JSTL标签库 1 什么是JSTL JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一定,只不过它不是JSP内置的标签,需要我们自己导包,以及指定标签库而已! 如果你使用MyEclipse开发JavaWeb,那么在把项目发布到Tomcat时,你会…
一.string    #include <string>  using std::string    初始化函数:    string s1;        默认构造函数 s1 为空串  string s2(s1);   将 s2 初始化为 s1 的一个副本  string s3("value");将 s3 初始化为一个字符串字面值副本  string s4(n, 'c');将 s4 初始化为字符 'c' 的 n 个副本    string s4(5,'6')  6666…
最近在学习CSS,先从CSS画点平面图形入手,发现除了正方形.长方形此类比较简单,只要有长宽设置恰当即可,画圆要涉及radius,然后恢复到做界面的最讨厌的状态了,不断的修改设值,调整数据,所幸并不多.下面就进入正文介绍吧,先将图形以及代码摆放出来,然后讲解下如何画,以及一些小细节. 1.正方形 <!DOCTYPE html> <html> <head> <title>triangle</title> <style type="t…
继上一次学了如何去运用css画平面图形,这一次学如何去画正方体,从2D向着3D学习,虽然有点满,但总是一个过程,一点一点积累,然后记录起来. Transfrom3D 在这一次中运用到了一下几种属性: rotate:rotateX() rotateY()  rotateZ()   :这个属性能够实现翻转效果 translate:translateX translateY() translateZ() :这个属性是实现移动效果 origin: 是设立为中心 perspective: 是影响3D的视觉…
聊天机器人知识主要是自然语言处理.包括语言分析和理解.语言生成.机器学习.人机对话.信息检索.信息传输与信息存储.文本分类.自动文摘.数学方法.语言资源.系统评测. NLTK库安装,pip install nltk .执行python.下载书籍,import nltk,nltk.download(),选择book,点Download.下载完,加载书籍,from nltk.book import * .输入text*书籍节点,输出书籍标题.搜索文本,text1.concordance("forme…
本节我们将介绍新浪微博宫格验证码的识别.微博宫格验证码是一种新型交互式验证码,每个宫格之间会有一条 指示连线,指示了应该的滑动轨迹.我们要按照滑动轨迹依次从起始宫格滑动到终止宫格,才可以完成验证,如 下图所示. 鼠标滑动后的轨迹会以黄色的连线来标识,如下图所示. 访问新浪微博移动版登录页面,就可以看到如上验证码,链接为  https://passport.weibo.cn/signin/login 一.本节目标 我们的目标是用程序来识别并通过微博宫格验证码的验证. 二.准备工作 本次我们使用的P…
基本概念 版本库 Subversion 使用集中的数据库,它包含了所有的版本控制文件及其完整历史.这个数据库就是版本库.版本库通常位于运行 Subversion 服务器的文件服务器上,向 Subversion 客户端(例如TortoiseSVN)提供需要的数据.如果只备份一个东西,请备份版本库,因为它是你数据的主副本. Subversion 是一种集中的分享信息的系统,它的核心是版本库,储存所有的数据,版本库按照文件树形式储存数据-包括文件和目录,任意数量的客户端可以连接到版本库,读写这些文件.…
1.MySQL数据库服务配置好后,系统会有4个默认的数据库. information_schema:虚拟对象,其对象都保存在内存中 performance_schema:服务器性能指标库 mysql:记录用户权限,帮助,日志等信息 test:测试库 查看当前的所有数据库: show databases //只显示当前用户拥有权限访问的所有数据库 删除数据库 drop database if exists db_name 创建数据库 create database if not exist db_…
EL函数库(由JSTL提供的) * 导入标签库:<%@ tablib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> String toUpperCase(String input):把参数转换成大写 String toLowerCase(String input):把参数转换成小写 int indexOf(String input, String substring):从大串,输出小…
date_time库的日期基于格里高利历,支持从1400-01-01到9999-12-31之间的日期计算 #define BOOST_DATE_TIME_SOURCE #include <boost\date_time\gregorian\gregorian.hpp> #include <boost\assert.hpp> using namespace boost::gregorian; int main() { date d1; //一个无效的日期 boost::gregori…
静态库(Archives) 后缀一般为"*.a" 使用两个目标文件创建单一静态库的编译与链接命令:ar cr libtest.a  test1.o test2.o 链接器搜索静态库时,链接所有已引用而未处理的符号 将静态库的链接放置在命令行尾部,确保其引用被正确解析 动态库(Shared Object) 共享目标库(类似windows的DLL),后缀一般为"*.so" 编译命令:g++ -shared - fPIC -o libtest.so test1.o tes…
现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆. 首先,登陆GitHub,创建一个新的仓库,名字叫gitskills: 我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件.创建完毕后,可以看到README.md文件: 现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库: git clone git@github.com:wufangfang0614/g…
效果: PHP代码 <?php Header('Content-type: image/png;Charset:utf-8'); //声明图片 $im = imagecreate(400,200); //get color. $bg = imagecolorallocate($im,0,0,0); $red = imagecolorallocate($im,255,0,255); $white = imagecolorallocate($im,255,255,255); $arrowX = ar…
在屏幕上画简单图形和显示图片.处理简单鼠标键盘事件 /*************************************************************** * Name: MyApp.h * Purpose: Defines Application Class * Author: PingGe (414236069@qq.com) * Created: 2013-10-14 * Copyright: PingGe (http://www.cnblogs.com/ping…
这里不再介绍effect框架的具体使用,有关effect框架使用可参考http://www.cnblogs.com/zhangbaochong/p/5475961.html 实现的功能依然是画一个简单的三角形,只不过使用了effect框架. 为了体现使用effect框架方便变量绑定的优点,我们对着色器代码做了修改,增加了一个常量float4x4 gWorldViewProj cbuffer cbPerObject { float4x4 gWorldViewProj; }; float4 VS_M…
本篇笔记要实现的是在屏幕上渲染出一个三角形,重点要学习的是渲染一个几何体的流程方式. 为了渲染几何图形,需要一个顶点缓存和一个描述顶点布局的输入层,还有着色器(主要是顶点着色器和像素着色器),下面来看看具体Demo的实现. 新建一个Win32项目 ,新建一个类我们叫做TriangleDemo,继承自前面教程我们实现的基类Dx11DemoBase. TriangleDemo.h头文件 #pragma once #include "Dx11DemoBase.h" class Triangl…
cocostudio创建UI并应用时须要引用cocostudio库,须要额外的环境配置: 之前已经搭配好了基础的开发环境,包含 1) JDK 2) Python 2.7 3) ant 4) visual Studio 2012 5) eclipse + ADT 这些都比較简单,然后也创建了project而且成功编译出了下面界面: 但之后尝试使用利用cocostudio做UI是发现还有非常多问题,环境仍然没有全然配置好. 研究好久最终攻克了: 右键项目 -> 属性 连接器->输入->附加依…
requests库一个优雅而简单的用于Python的HTTP库,可以极大的简化我们发送http请求及获取响应的代码. requests是python的第三方库,所以使用之前需要先安装. 1.安装之后就可导入requests模板使用 import requests 2.requests发送请求 r = requests.get('https://github.com/timeline.json') r = requests.post("http://httpbin.org/post")…
Requests是Python的一个优雅而简单的HTTP库,它比Pyhton内置的urllib库,更加强大. 0X01 基本使用 安装 Requests,只要在你的终端中运行这个简单命令即可: pip install requests 基本HTTP 请求类型: r = requests.get('http://httpbin.org/get') r = requests.post("http://httpbin.org/post") r = requests.put("htt…