巩义网站建设,巩义网站制作,巩义做网站-全栈网络

巩义做网站之网站验证码添加相关函数及过程
当前位置:首页 > 建站知识 > 网站代码 >

巩义做网站之网站验证码添加相关函数及过程

时间: 2019-11-15 分类: 网站代码 浏览次数:

在巩义做网站中,经常会用到图片验证码功能,这个功能使用的就是php语言,因为php不但可以产生html输出,还可以创建和操作各种不同格式的图像文件,php也提供了一些内置图像处理函...


 在巩义做网站中,经常会用到图片验证码功能,这个功能使用的就是php语言,因为php不但可以产生html输出,还可以创建和操作各种不同格式的图像文件,php也提供了一些内置图像处理函数,也可以使用GD函数库创建新图像或处理已有图像,目前GD2库支持jpeg、png和wbmp格式。
 
一.首先开启GD2图像扩展库
 在php.ini中,找到extension=gd2,即可打开。
 
二.创建画布
 创建画布有两种形式:
 a.创建基于已有图像的图像,使用imagecreatefromjpeg函数,语法如下,
$filename="./1.jpg";
$img2=imagecreatefromjpeg(filename);
var_dump($img2);
 
 b.创建空画布图像,代码如下:
//创建空画布
$img=imagecreatetruecolor(400,300);
//打印变量,成功返回图像资源,否则返回false
var_dump($img);
.创建空画布图像
 
三.为图像分配颜色,使用函数imagecolorallocat,如下:
$color=imagecolorallocate($img,255,255,255);
 
四.为画布填充颜色,使用函数imagefill,参数:图像资源,x轴,y轴,颜色
imagefill($img, 0,0, $color);

五.水平画一行字符串,使用函数imagestring(),分别有几个参数
1.图像资源;
2.字体大小,取值1,2,3,4,使用内置字体;
3.绘制坐标,x,y;
4.绘制的字符串
5.文本颜色
6.文本颜色
$str="hello world";
imagestring($img,5, 0, 0, $str,$color2);

六.取画布宽高,保证文字局居中
$imageWidth=imagesx($img);
$imageHeight=imagesy($img);
 
七.取内置字体的宽高
$str="hello world";
$font=5;
$fontWidth=imagefontwidth($font);
$fontHeight=imagefontheight($font);
 
八.计算字符串的起点坐标,并实现字符串居中
$x=($imageWidth-$fontWidth*strlen($str))/2;
$y=($imageHeight-$fontHeight)/2;
imagestring($img,$font, $x, $y, $str,$color2);

九.写中文汉字到画布上,使用函数imagettftext(),代码如下:
//imagettftext(图像资源,字号大小,旋转角度, x, y, 颜色,字体文件绝对地址,字符串)

$str="测试一下";
$fontfile="C:\Windows\Fonts\simfang.ttf";
imagettftext($img,48, 0,50,100, $color2, $fontfile, $str);

九.输出图像到浏览器,使用imagejpeg函数
该函数拥有三个参数,
a.输出的画布,
b.图片名称,如果不写,则在浏览器输出,写则代表将创建的图像保存到文件

c.图片质量,从1-100,
$filename="https://www.gyzgl.com/uploads/allimg/191011/1-19101114333M10.jpg";
$img2=imagecreatefromjpeg($filename);
var_dump($img2);
 
十.输出图像到浏览器,这里注意如果输出图像,需要把var_dump删掉;
header("Content-type: image/jpeg");
imagejpeg($img2);

十一.销毁图像资源,使用函数imagedestroy,
imagesdestroy();
创建字符串的所有代码

本文关键词: 网站验证码 未经允许不得转载:郑州网站建设|郑州网站制作|荥阳网站建设|巩义网站建设|网站优化-全栈网络



说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!
网站服务项目
网站制作类型
网站案例
网站资讯
联系我们
邮箱:

baby2192@gyzgl.com

公司服务电话:

18624910209(点击可直接拨打)

Copyright © 2017-2020 版权所有:全栈网络工作室 备案号:豫ICP备20017505号 HTML网站地图
郑州网站制作|郑州做网站|巩义网站制作|荥阳做网站|巩义做网站-全栈网络