php gd图片验证,php笔记之GD库图片创建/简单验证码

燕十八 公益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);

//创建颜料

$bg=imagecolorallocate($img,30,255,255);

//画布填充颜色

imagefill($img,0,0,$bg);

//保存图片

if(imagepng($img,'./01.png')){

echo "图片创建成功";

}

//销毁图片

imagedestroy($img);

简单验证码

//创建图片

$im = imagecreatetruecolor(50, 30);

// 将背景设为蓝色

$blue = imagecolorallocate($im, 100, 255, 255);

//创建颜料

$imgcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));

//填充背景颜色

imagefill($im, 0, 0, $blue);

//画干扰线

for($i=0;$i<4;$i++){

imageline($im,rand(0,20),0,100,rand(0,60),$imgcolor);

}

//画噪点

for($i=0;$i<100;$i++){

imagesetpixel($im,rand(0,50),rand(0,30),$imgcolor);

}

//写字符串

$str=substr(str_shuffle('ABCDEFGHIJKMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789'),0,4);

imagestring($im,4,10,10,$str,$imgcolor);

//输出图片

header('content-type: image/png');

imagepng($im);

//销毁图片

imagedestroy($im);

验证码注意保存格式,utf8无bom格式,只保存为utf8的会出现乱码

输出随机验证码为:

57a446146087a85c3aaefa4bfce3048b.png

GD库 图片缩略图 图片水印

/** * GD库 图片缩略图 *//*$image = imagecreatefromjpeg("1.jpg");var_dump($image);exit;$width = i ...

php中GD库的一些简单使用

今天了解了一些GD库的简单使用,现在稍微做一下总结! GD库是什么?,graphic device,图像工具库,gd库是php处理图形的扩展库,gd库提供了一系列用来处理图片的API,使用GD库可以处 ...

PHP利用GD库绘图和生成验证码图片

首先得确定php.ini设置有没有打开GD扩展功能,測试例如以下 print_r(gd_info()); 假设有打印出内容例如以下,则说明GD功能有打开: Array ( [GD Version] = ...

使用Pillow库 创建简单验证码

使用Pillow生成简单的验证码 本想做成字体各自按随机角度倾斜, 但没有在Pillow中找到相关的方法 import randomfrom PIL import Image, ImageDraw, ...

PHP:GD库 图片水印处理

文章来源:http://www.cnblogs.com/hello-tl/p/7592974.html <?php /** * 处理图片类 * 1.添加文字水印 * 2.添加图片水印 * 3.压 ...

gd库已打开,验证码不显示

ob_start(); ob_clean();

php中GD库的简单使用

在php中需要图像处理的地方GD库会发挥重要的作用,php可以创建并处理包括GIF,PNG,JPEG,WBMP以及XPM在内的多种图像格式,简单的举几个例子: 1.用GD库会创建一块空白图片,然后绘制 ...

php课程 8-32 如何使用gd库进行图片裁剪和缩放

php课程 8-32 如何使用gd库进行图片裁剪和缩放 一.总结 一句话总结:图片缩放到图片裁剪就是改变原图截取的位置以及截取的宽高. 1.电商网站那么多的图片,如果全部加载卡得慢的很,所以他们是怎么 ...

php 简单的学习GD库绘制图片并传回给前端实现方式

1.基本的GD库绘制图片汇总 2.后台实现小案例 <?php // $img = imagecreatetruecolor(200,40); // var_dump($img); // 利用GD ...

随机推荐

【Shell脚本】怎样表示一个for循环

[Shell脚本]怎样表示一个for循环 在此说一下我常用的两个结构: 1. for i in $(seq 1 100); do         echo $i done 2. for (( i = ...

proteus怎么仿真?

加入hex 文件 双击 单片机芯片 AT89C51 弹出对话框,选择好 用keil 编译好的 hex 文件,晶振 12  即可. 运行

scrollTop

scrollTop 表示滚动的高度,默认从position:0;开始向下滚,scrollTop(offset)的offset表示相对顶部的偏移,以像素计,
scrollTop() ...

都是类型惹的祸——小心unsigned

正如我们所知道的,编程语句都有很多的基本数据类型,如char,inf,float等等,而在C和C++中还有一个特殊的类型就是无符号数,它由unsigned修饰,如unsigned int等.大家有没想 ...

vim 多文件编辑【超实用】

vim 多文件编辑(偶的linux笔记) http://blog.csdn.net/lcj_cjfykx/article/details/18805721 通过vim打开的每个文件都对应着一个buff ...

类型转换之 PropertyEditorSupport类

这个类可以用于自定义的类型转换, 子类继承这个类之后可以重写子类的方法 ,其中比较重要的是setAsText和setValue方法,setAsText 子自己的方式处理转换,setValue将转换的结 ...

myBase Desktop 6&period;5&period;1 无限期试用

清空安装目录下的"nyfedit.ini"文件的"App.UserLic.FirstUseOn="配置项的值

sql server选取第m行到第n行的元组

现在有一个表Questioin,主码是qid,要求选择第m行到第n行的元组 //方法一:效率最低 //错误:如果n=m,将选取从m+1开始的n条数据 sel ...

git忽略本地文件

一.忽略文件的常用方法 1.git通常在.gitignore文件进行配置,来忽略本地文件.但是这仅对于重来没有提交过的文件有效. 2.使用git update-index --skip-worktre ...

CopyTo 方法详解

如果你就想复制一个字符串到另一个字符串,可以使用string的静态方法Copy 例如: string a = "hello"; string b = "world&quo ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值