PHP入门培训教程PHP培训教程PHP基础教程GD库图像处理.pptx
《PHP入门培训教程PHP培训教程PHP基础教程GD库图像处理.pptx》由会员分享,可在线阅读,更多相关《PHP入门培训教程PHP培训教程PHP基础教程GD库图像处理.pptx(27页珍藏版)》请在咨信网上搜索。
回顾PHP中常见的错误有哪三种?如何开启文件方式的日志记录,使用哪个函数记录?什么是时间戳?相关函数都有哪些?预习检查GD库绘图都需要哪几步骤?如何创建一个画布?如何输出一个图像?本章任务1.PHP中GD库的使用2.验证码的绘制和使用3.PHP图片处理(缩放、裁剪、水印、旋转和翻转)1.PHP中GD库的使用1.1GD简介1.2画布管理1.3设置颜色1.4生成图像1.5绘制图像1.6在图像中绘制文字1.1GD简介PHP不仅限于只产生HTML的输出,还可以创建及操作多种不同格式的图像文件。PHP提供了一些内置的图像信息函数,也可以使用GD函数库创建新图像或处理已有的图像。目前GD2库支持GIF、JPEG、PNG和WBMP等格式。此外还支持一些FreeType、Type1等字体库。JPEG是一种压缩标准的名字,通常是用来存储照片或者存储具有丰富色彩和色彩层次的图像。这种格式使用了有损压缩。PNG是可移植的网络图像,对图像采用了无损压缩标准。GIF原义是“图像互换格式”,是一种基于LZW算法的连续色调的无损压缩格式。GD库图像绘制的步骤在PHP中创建一个图像应该完成如下所示的4个步骤:1.创建一个背景图像(也叫画布),以后的操作都基于此背景图像。2.在背景上绘制图像轮廓或输入文本。3.输出最终图形4.释放资源创建背景绘制图像输出图形释放资源?php/1.创建画布$im=imageCreateTrueColor(200,200);/建立空白背景$white=imageColorAllocate($im,255,255,255);/设置绘图颜色$blue=imageColorAllocate($im,0,0,64);/2.开始绘画imageFill($im,0,0,$blue);/绘制背景imageLine($im,0,0,200,200,$white);/画线imageString($im,4,50,150,Sales,$white);/添加字串/3.输出图像header(Content-type:image/png);imagePng($im);/以PNG格式将图像输出/4.释放资源imageDestroy($im);1.2画布管理imagecreate-新建一个基于调色板的图像resourceimagecreate(intx_size,inty_size)本函数用来建立空新画布,参数为图片大小,单位为像素(pixel)。支持256色。imagecreatetruecolor-新建一个真彩色图像resourceimagecreatetruecolor(intx_size,inty_size)新建一个真彩色图像画布,需要GD2.0.1或更高版本,不能用于GIF文件格式。imagedestroy-销毁一图像boolimagedestroy(resourceimage)imagedestroy()释放与image关联的内存。1.3设置颜色imagecolorallocate-为一幅图像分配颜色语法:intimagecolorallocate(resourceimage,intred,intgreen,intblue)imagecolorallocate()返回一个标识符,代表了由给定的RGB成分组成的颜色。red,green和blue分别是所需要的颜色的红,绿,蓝成分。这些参数是0到255的整数或者十六进制的0 x00到0 xFF。imagecolorallocate()必须被调用以创建每一种用在image所代表的图像中的颜色。$im=imagecreatetruecolor(100,100);/创建画布的大小为100 x100$red=imagecolorallocate($im,255,0,0);/由十进制整数设置一个颜色$white=imagecolorallocate($im,0 xFF,0 xFF,0 xFF);/十六进制方式1.4生成图片imagegif-以GIF格式将图像输出到浏览器或文件语法:boolimagegif(resourceimage,stringfilename)imagejpeg-以JPEG格式将图像输出到浏览器或文件语法:boolimagejpeg(resourceimage,stringfilename,intquality)imagepng-以PNG格式将图像输出到浏览器或文件语法:boolimagepng(resourceimage,stringfilename)imagewbmp-以WBMP格式将图像输出到浏览器或文件语法:boolimagewbmp(resourceimage,stringfilename,intforeground)1.5绘制图像imagefill-区域填充语法:boolimagefill(resourceimage,intx,inty,intcolor)imagefill()在image图像的坐标x,y(图像左上角为0,0)处用color颜色执行区域填充(即与x,y点颜色相同且相邻的点都会被填充)。imagesetpixel-画一个单一像素语法:boolimagesetpixel(resourceimage,intx,inty,intcolor)imagesetpixel()在image图像中用color颜色在x,y坐标(图像左上角为0,0)上画一个点。imageline-画一条线段语法:boolimageline(resourceimage,intx1,inty1,intx2,inty2,intcolor)imageline()用color颜色在图像image中从坐标x1,y1到x2,y2(图像左上角为0,0)画一条线段。imagerectangle-画一个矩形语法:boolimagerectangle(resourceimage,intx1,inty1,intx2,inty2,intcol)imagerectangle()用col颜色在image图像中画一个矩形,其左上角坐标为x1,y1,右下角坐标为x2,y2。图像的左上角坐标为0,0。imagefilledrectangle-画一矩形并填充语法:boolimagefilledrectangle(resourceimage,intx1,inty1,intx2,inty2,intcolor)imagefilledrectangle()在image图像中画一个用color颜色填充了的矩形,其左上角坐标为x1,y1,右下角坐标为x2,y2。0,0是图像的最左上角。imagepolygon-画一个多边形语法:boolimagepolygon(resourceimage,arraypoints,intnum_points,intcolor)imagepolygon()在图像中创建一个多边形。points是一个PHP数组,包含了多边形的各个顶点坐标,即points0=x0,points1=y0,points2=x1,points3=y1,以此类推。num_points是顶点的总数。imagefilledpolygon-画一多边形并填充语法:boolimagefilledpolygon(resourceimage,arraypoints,intnum_points,intcolor)imagefilledpolygon()在image图像中画一个填充了的多边形。points参数是一个按顺序包含有多边形各顶点的x和y坐标的数组。num_points参数是顶点的总数,必须大于3。imageellipse-画一个椭圆语法:boolimageellipse(resourceimage,intcx,intcy,intw,inth,intcolor)imageellipse()在image所代表的图像中画一个中心为cx,cy(图像左上角为0,0)的椭圆。w和h分别指定了椭圆的宽度和高度,椭圆的颜色由color指定。imagefilledellipse-画一椭圆并填充语法:boolimagefilledellipse(resourceimage,intcx,intcy,intw,inth,intcolor)imagefilledellipse()在image所代表的图像中以cx,cy(图像左上角为0,0)为中心画一个椭圆。w和h分别指定了椭圆的宽和高。椭圆用color颜色填充。如果成功则返回TRUE,失败则返回FALSE。imagearc-画椭圆弧boolimagearc(resourceimage,intcx,intcy,intw,inth,ints,inte,intcolor)imagearc()以cx,cy(图像左上角为0,0)为中心在image所代表的图像中画一个椭圆弧。w和h分别指定了椭圆的宽度和高度,起始和结束点以s和e参数以角度指定。0位于三点钟位置,以顺时针方向绘画。imagefilledarc-画一椭圆弧且填充boolimagefilledarc(resourceimage,intcx,intcy,intw,inth,ints,inte,intcolor,intstyle)imagefilledarc()在image所代表的图像中以cx,cy(图像左上角为0,0)画一椭圆弧。如果成功则返回TRUE,失败则返回FALSE。w和h分别指定了椭圆的宽和高,s和e参数以角度指定了起始和结束点。style可以是下列值按位或(OR)后的值:IMG_ARC_PIEIMG_ARC_CHORDIMG_ARC_NOFILLIMG_ARC_EDGED1.6在图像中绘制文字imagestring-水平地画一行字符串语法:boolimagestring(resourceimage,intfont,intx,inty,strings,intcol)imagestring()用col颜色将字符串s画到image所代表的图像的x,y坐标处(这是字符串左上角坐标,整幅图像的左上角为0,0)。如果font是1,2,3,4或5,则使用内置字体。imagestringup-垂直地画一行字符串语法:boolimagestringup(resourceimage,intfont,intx,inty,strings,intcol)imagestring()用col颜色将字符串s垂直地画到image所代表的图像的x,y座标处(图像的左上角为0,0)。如果font是1,2,3,4或5,则使用内置字体。imagechar-水平地画一个字符语法:boolimagechar(resourceimage,intfont,intx,inty,stringc,intcolor)imagechar()将字符串c的第一个字符画在image指定的图像中,其左上角位于x,y(图像左上角为0,0),颜色为color。如果font是1,2,3,4或5,则使用内置的字体(更大的数字对应于更大的字体)。imagecharup-垂直地画一个字符语法:boolimagecharup(resourceimage,intfont,intx,inty,stringc,intcolor)imagecharup()将字符c垂直地画在image指定的图像上,位于x,y(图像左上角为0,0),颜色为color。如果font为1,2,3,4或5,则使用内置的字体。imagettftext-用TrueType字体向图像写入文本语法:arrayimagettftext(resourceimage,floatsize,floatangle,intx,inty,intcolor,stringfontfile,stringtext)?php$im=imagecreatetruecolor(400,30);/创建400 x300像素大小的画布$white=imagecolorallocate($im,255,255,255);/创建白色$grey=imagecolorallocate($im,128,128,128);/创建灰色$black=imagecolorallocate($im,0,0,0);/创建黑色 imagefilledrectangle($im,0,0,399,29,$white);/使用白色作为背景 /如果有中文输出,需要将其转码,转换为UTF-8的字符串才可以直接传递$text=iconv(GB2312,UTF-8,LAMP兄弟连无兄弟,不编程!);$font=simsun.ttc;/指定字体,将系统中对应字体复制到当前目录下 imagettftext($im,20,0,12,21,$grey,$font,$text);/输出灰色字串作为阴影 imagettftext($im,20,0,10,20,$black,$font,$text);/输出一个黑色的字符串 header(Content-type:image/png);/通知浏览器将输出格式为PNG的图像 imagepng($im);/向浏览器中输出PNG格式的图像 imagedestroy($im);/销毁资源,释放内存占用的空间2.验证码的绘制和使用验证码(CAPTCHA)是“CompletelyAutomatedPublicTuringtesttotellComputersandHumansApart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机和人的公共全自动程序。使用验证码的目的:可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试。验证码是现在很多网站通行的方式(比如招商银行的网上个人银行,百度社区)。验证码的样式也是千奇百态,本节重点讲解使用GD库绘制图像的方式。具体实现步骤设计验证码的步骤验证码在表单中如何使用3.PHP图片处理3.1图片背景管理3.2图片缩放和裁剪3.3添加图片水印3.4图片旋转和翻转3.1图片背景管理从指定的图片文件或URL地址来新建一个图像。成功则返回一个图像标识符,失败时返回一个空字符串,并且输出一条错误信息。由于格式不同,则需要分别使用对应图片背景处理函数。resourceimagecreatefrompng(stringfilename)从PNG文件或URL新建一图像resourceimagecreatefromjpeg(stringfilename)从JPEG文件或URL新建一图像resourceimagecreatefromgif(stringfilename)从GIF文件或URL新建一图像resourceimagecreatefromwbmp(stringfilename)从WBMP文件或URL新建一图像其他图像处理函数:intimagesx(resourceimage)取得图像宽度intimagesy(resourceimage)取得图像高度arraygetimagesize(string$filename,array&$imageinfo)取得图像大小、类型等信息3.2图片缩放和裁剪boolimagecopyresampled(resource$dst_image,resource$src_image,int$dst_x,int$dst_y,int$src_x,int$src_y,int$dst_w,int$dst_h,int$src_w,int$src_h)重采样拷贝部分图像并调整大小,是将一幅图像中的一块正方形区域拷贝到另一个图像中,平滑地插入像素值,因此,尤其是,减小了图像的大小而仍然保持了极大的清晰度。成功时返回TRUE,或者在失败时返回FALSE。其中dst_image和src_image分别是目标图像和源图像的标识符。3.3添加图片水印boolimagecopy(resource$dst_im,resource$src_im,int$dst_x,int$dst_y,int$src_x,int$src_y,int$src_w,int$src_h)拷贝图像的一部分(也就是图片合成)。将src_im图像中坐标从src_x,src_y 开始,宽度为src_w,高度为src_h的一部分拷贝到dst_im图像中坐标为dst_x和dst_y的位置上。3.4图片旋转和翻转resourceimagerotate(resource$src_im,float$angle,int$bgd_color,int$ignore_transparent)用给定角度旋转图像将src_im图像用给定的angle角度旋转。bgd_color指定了旋转后没有覆盖到的部分的颜色。旋转的中心是图像的中心,旋转后的图像会按比例缩小以适合目标图像的大小边缘不会被剪去。如果ignore_transparent被设为非零值,则透明色会被忽略(否则会被保留)。总结本章必须掌握的知识点:画布管理和设置颜色绘制和生成图像验证码的绘制和使用图片的一些常见的操作(缩放、添加水印、裁剪、旋转和翻转)- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 入门 培训 教程 基础教程 GD 图像 处理
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文