php课程 8-28 php如何绘制生成显示图片
一、总结
一句话总结:gd库轻松解决
1、php图片操作生成的图的两种去向是什么?
一种在页面直接输出,一种存进本地磁盘
2、php操作图片的库有哪些?
PHP: Image Processing and Generation - Manual
http://php.net/manual/en/refs.utilspec.image.phpCairoExifGDGmagickImageMagick
3、如何防止网站强刷注册?
a、验证码
b、ip限制,比如这个ip只能注册30个用户,多了就让你明天再来
4、如何防止网站暴力破解用户名?
记录用户名,如果输入错5次,那只能明天再来登录
第一次没有验证码,输入出错之后验证码就出来
5、网站上面图片的缩放、裁剪、加水印是怎么实现的?
交给的php,gd库轻松解决
6、php中常见的资源类型有哪些?
数据库连接资源
gd库画布资源
7、php变量或者说资源的释放是什么样的?
一个脚本执行完,执行到最后之后,里面的所有变量或者说资源都会被删除,所以多个php脚本的重复变量是不会相互影响的。
8、html如何声明本文档是图片?
header头中content-type
header('content-type:image/jpeg');
9、gd库的使用需要额外引包么?
不需要,直接进去就开始干就行了,比如说创建画布资源
1
10、php中gd画图的场景有哪些?
1.验证码
2.缩放3.裁剪4.水印
11、php中创建图像的六个步骤是什么?
1.创建画布资源
$img=imagecreatetruecolor(500,300);2.准备颜色$black=imagecolorallocate($img,0,0,0);$white=imagecolorallocate($img,255,255,255);$red=imagecolorallocate($img,255,0,0);$green=imagecolorallocate($img,0,255,0);$blue=imagecolorallocate($img,0,0,255);3.填充画布imagefill($img,0,0,$black);4.在画布上画图像或文字imagefilledellipse($img,250,150,200,200,$white);5.输出最终图像或保存最终图像header('content-type:image/jpeg');1)图片从浏览器上输出imagejpeg($img);2)把图片保存到本地imagejpeg($img,'jin.jpg');6.释放画布资源imagedestroy($img);1
二、php如何绘制生成显示图片
1、相关知识
php中gd画图的场景:
1.验证码2.缩放3.裁剪4.水印php中创建图像的六个步骤:1.创建画布资源$img=imagecreatetruecolor(500,300);2.准备颜色$black=imagecolorallocate($img,0,0,0);$white=imagecolorallocate($img,255,255,255);$red=imagecolorallocate($img,255,0,0);$green=imagecolorallocate($img,0,255,0);$blue=imagecolorallocate($img,0,0,255);3.填充画布imagefill($img,0,0,$black);4.在画布上画图像或文字imagefilledellipse($img,250,150,200,200,$white);5.输出最终图像或保存最终图像header('content-type:image/jpeg');1)图片从浏览器上输出imagejpeg($img);2)把图片保存到本地imagejpeg($img,'jin.jpg');6.释放画布资源imagedestroy($img);绘制图像:• imagefill(); //区域填充• imagesetpixel(); //画一个像素• imageline(); //画一条线• imagerectangle(); //画一个矩形• imagefilledrectangle(); //画一矩形并填充• imagepolygon(); //画一个多边形• imagefilledpolygon(); //画一个多边形并填充• imageellipse(); //画一个椭圆• imagefilledellipse(); //画一个椭圆并填充• imagearc(); //画一个椭圆弧• imagefilledarc(); //画一个椭圆弧并填充• imagestring(); //水平地画一行字符串• imagestringup(); //垂直地画一行字符串• imagechar(); //水平地画一个字符• imagecharup(); //垂直地画一个字符• imagettftext(); //用truetype字符向图像画一个字符串
2、代码
1