欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    PHP入门培训教程PHP培训教程PHP基础教程18GD库图像处理.ppt

    • 资源ID:3407700       资源大小:396.04KB        全文页数:28页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    PHP入门培训教程PHP培训教程PHP基础教程18GD库图像处理.ppt

    回顾 PHP中常见的错误有哪三种? 如何开启文件方式的日志记录,使用哪个函数记 录? 什么是时间戳?相关函数都有哪些? 预习检查 GD库绘图都需要哪几步骤? 如何创建一个画布? 如何输出一个图像? 本章任务 1. PHP中GD库的使用 2. 验证码的绘制和使用 3. PHP图片处理(缩放、裁剪、水印、旋转和翻转) 1. PHP中GD库的使用 1.1 GD简介 1.2 画布管理 1.3 设置颜色 1.4 生成图像 1.5 绘制图像 1.6 在图像中绘制文字 1.1 GD简介 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 - 新建一个基于调色板的图像 resource imagecreate ( int x_size, int y_size ) 本函数用来建立空新画布,参数为图片大小,单位为像 素 (pixel)。支持256色。 imagecreatetruecolor - 新建一个真彩色图像 resource imagecreatetruecolor ( int x_size, int y_size ) 新建一个真彩色图像画布 ,需要 GD 2.0.1 或更高版本 ,不能用于 GIF 文件格式。 imagedestroy - 销毁一图像 bool imagedestroy ( resource image ) imagedestroy() 释放与 image 关联的内存。 1.3 设置颜色 imagecolorallocate - 为一幅图像分配颜色 语法:int imagecolorallocate ( resource image, int red, int green, int blue ) imagecolorallocate() 返回一个标识符,代表了由给定 的 RGB 成分组成的颜色。red,green 和 blue 分别是 所需要的颜色的红,绿,蓝成分。这些参数是 0 到 255 的整数或者十六进制的 0x00 到 0xFF。 imagecolorallocate() 必须被调用以创建每一种用在 image 所代表的图像中的颜色。 $im = imagecreatetruecolor(100, 100); /创建画布的大小为100x100 $red = imagecolorallocate($im,255,0,0); /由十进制整数设置一个颜色 $white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);/ 十六进制方式 1.4 生成图片 imagegif - 以 GIF 格式将图像输出到浏览器或文件 语法:bool imagegif (resource image ,string filename ) imagejpeg - 以 JPEG 格式将图像输出到浏览器或文 件 语法:bool imagejpeg (resource image ,string filename , int quality ) imagepng - 以 PNG 格式将图像输出到浏览器或文件 语法:bool imagepng (resource image ,string filename ) imagewbmp - 以 WBMP 格式将图像输出到浏览器 或文件 语法:bool imagewbmp (resource image , string filename , int foreground ) 1.5 绘制图像 imagefill - 区域填充 语法:bool imagefill(resource image,int x,int y, int color) imagefill() 在 image 图像的坐标 x,y(图像左上角为 0, 0)处用 color 颜色执行区域填充(即与 x, y 点颜色相同且相邻的点都会被填 充)。 imagesetpixel - 画一个单一像素 语法:bool imagesetpixel ( resource image, int x, int y, int color ) imagesetpixel() 在 image 图像中用 color 颜色在 x,y 坐标(图像 左上角为 0,0)上画一个点。 imageline - 画一条线段 语法:bool imageline ( resource image, int x1, int y1, int x2, int y2, int color ) imageline() 用 color 颜色在图像 image 中从坐标 x1,y1 到 x2,y2 (图像左上角为 0, 0)画一条线段。 imagerectangle - 画一个矩形 语法:bool imagerectangle ( resource image, int x1, int y1, int x2, int y2, int col ) imagerectangle() 用 col 颜色在 image 图像中画一个矩形, 其左上角坐标为 x1, y1,右下角坐标为 x2, y2。图像的左上角 坐标为 0, 0。 imagefilledrectangle - 画一矩形并填充 语法:bool imagefilledrectangle ( resource image, int x1, int y1, int x2, int y2, int color ) imagefilledrectangle() 在 image 图像中画一个用 color 颜色 填充了的矩形,其左上角坐标为 x1,y1,右下角坐标为 x2, y2。0, 0 是图像的最左上角。 imagepolygon - 画一个多边形 语法:bool imagepolygon ( resource image, array points, int num_points, int color ) imagepolygon() 在图像中创建一个多边形。points 是一个 PHP 数组,包含了多边形的各个顶点坐标,即 points0 = x0 ,points1 = y0,points2 = x1,points3 = y1,以此类 推。num_points 是顶点的总数。 imagefilledpolygon - 画一多边形并填充 语法:bool imagefilledpolygon ( resource image, array points, int num_points, int color ) imagefilledpolygon() 在 image 图像中画一个填充了的多边 形。points 参数是一个按顺序包含有多边形各顶点的 x 和 y 坐标的数组。 num_points 参数是顶点的总数,必须大于 3。 imageellipse - 画一个椭圆 语法:bool imageellipse ( resource image, int cx, int cy, int w, int h, int color ) imageellipse() 在 image 所代表的图像中画一个中心为 cx,cy(图像左上角为 0, 0)的椭圆。w 和 h 分别指定 了椭圆的宽度和高度,椭圆的颜色由 color 指定。 imagefilledellipse - 画一椭圆并填充 语法:bool imagefilledellipse ( resource image, int cx, int cy, int w, int h, int color ) imagefilledellipse() 在 image 所代表的图像中以 cx, cy(图像左上角为 0, 0)为中心画一个椭圆。w 和 h 分 别指定了椭圆的宽和高。椭圆用 color 颜色填充。如果成 功则返回 TRUE,失败则返回 FALSE。 imagearc - 画椭圆弧 bool imagearc ( resource image, int cx, int cy, int w, int h, int s, int e, int color ) imagearc() 以 cx,cy(图像左上角为 0, 0)为中心在 image 所代表的图像中画一个椭圆弧。w 和 h 分别指定 了椭圆的宽度和高度,起始和结束点以 s 和 e 参数以角度 指定。0°位于三点钟位置,以顺时针方向绘画。 imagefilledarc - 画一椭圆弧且填充 bool imagefilledarc ( resource image, int cx, int cy, int w, int h, int s, int e, int color, int style ) imagefilledarc() 在 image 所代表的图像中以 cx,cy( 图像左上角为 0, 0)画一椭圆弧。如果成功则返回 TRUE ,失败则返回 FALSE。w 和 h 分别指定了椭圆的宽和高 ,s 和 e 参数以角度指定了起始和结束点。style 可以是 下列值按位或(OR)后的值: IMG_ARC_PIEIMG_ARC_CHORD IMG_ARC_NOFILLIMG_ARC_EDGED 1.6 在图像中绘制文字 imagestring - 水平地画一行字符串 语法:bool imagestring ( resource image, int font, int x, int y, string s, int col ) imagestring() 用 col 颜色将字符串 s 画到 image 所代 表的图像的 x,y 坐标处(这是字符串左上角坐标,整幅 图像的左上角为 0,0)。如果 font 是 1,2,3,4 或 5 ,则使用内置字体。 imagestringup - 垂直地画一行字符串 语法:bool imagestringup ( resource image, int font, int x, int y, string s, int col ) imagestring()用 col 颜色将字符串 s 垂直地画到 image 所代表的图像的 x, y 座标处(图像的左上角为 0, 0)。 如果 font 是 1,2,3,4 或 5,则使用内置字体。 imagechar - 水平地画一个字符 语法:bool imagechar ( resource image, int font, int x, int y, string c, int color ) imagechar() 将字符串 c 的第一个字符画在 image 指定的图 像中,其左上角位于 x,y(图像左上角为 0, 0),颜色为 color。如果 font 是 1,2,3,4 或 5,则使用内置的字体( 更大的数字对应于更大的字体)。 imagecharup - 垂直地画一个字符 语法:bool imagecharup ( resource image, int font, int x, int y, string c, int color ) imagecharup() 将字符 c 垂直地画在 image 指定的图像上, 位于 x,y(图像左上角为 0, 0),颜色为 color。如果 font 为 1,2,3,4 或 5,则使用内置的字体。 imagettftext - 用 TrueType 字体向图像写入文本 语法 :array imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text ) ?php $im = imagecreatetruecolor(400, 30); /创建400x300像素大小的画布 $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)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写 ,是一种区分用户是计算机和人的公共全自动程序。 使用验证码的目的:可以防止:恶意破解密码、刷票、 论坛灌水,有效防止某个黑客对某一个特定注册用户用 特定程序暴力破解方式进行不断的登陆尝试。 验证码是现在很多网站通行的方式(比如招商银行的网 上个人银行,百度社区)。 验证码的样式也是千奇百态,本节重点讲解使用GD库绘 制图像的方式。 具体实现步骤 设计验证码的步骤 验证码在表单中如何使用 3. PHP图片处理 3.1 图片背景管理 3.2 图片缩放和裁剪 3.3 添加图片水印 3.4 图片旋转和翻转 3.1 图片背景管理 从指定的图片文件或 URL地址来新建一个图像。成功则 返回一个图像标识符,失败时返回一个空字符串,并且 输出一条错误信息。由于格式不同,则需要分别使用对 应图片背景处理函数。 resource imagecreatefrompng ( string filename ) 从 PNG 文件或 URL 新建一图像 resource imagecreatefromjpeg ( string filename ) 从 JPEG 文件或 URL 新建一图像 resource imagecreatefromgif ( string filename ) 从 GIF 文件或 URL 新建一图像 resource imagecreatefromwbmp ( string filename ) 从 WBMP 文件或 URL 新建一图像 其他图像处理函数: int imagesx ( resource image ) 取得图像宽度 int imagesy ( resource image ) 取得图像高度 array getimagesize ( string $filename , array &$imageinfo ) 取得图像大小、类型等信息 3.2 图片缩放和裁剪 bool imagecopyresampled ( 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 添加图片水印 bool imagecopy ( 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 图片旋转和翻转 resource imagerotate ( resource $src_im , float $angle , int $bgd_color , int $ignore_transparent ) 用给定角度旋转图像 将 src_im 图像用给定的 angle 角度旋转。bgd_color 指定 了旋转后没有覆盖到的部分的颜色。 旋转的中心是图像的中心,旋转后的图像会按比例缩小以适 合目标图像的大小边缘不会被剪去。 如果 ignore_transparent 被设为非零值,则透明色会被忽 略(否则会被保留)。 总 结 本章必须掌握的知识点: 画布管理和设置颜色 绘制和生成图像 验证码的绘制和使用 图片的一些常见的操作(缩放、添加水印、裁剪、旋转和翻转 )

    注意事项

    本文(PHP入门培训教程PHP培训教程PHP基础教程18GD库图像处理.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开