燕十八 公益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的会出现乱码
输出随机验证码为:
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.5.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 ...