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

    第9章图形处理ppt课件.ppt

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

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

    第9章图形处理ppt课件.ppt

    第章 图形处理,PHP中的图形处理,主要应用在用户认证、系统安全、数据展示等方面。PHP不仅可以输出多种类型格式的图片,也可以处理服务器上存储的图片。 图形处理中包括了图形学、字体、颜色、几何等方面的知识,本章主要介绍常用的图形处理函数,以及在实际中使用到的例子。在统一介绍图形处理函数,将使用这些函数,来实现一个具体的例子,供读者参考。PHP的图形处理功能需要GD库的支持,GD库支持在PHP配置文件中设置。,9.1 创建和销毁图形,在PHP中要想操作图形,必须先创建一个图形,从而取得一个句柄,其后所有的操作,都是针对这个句柄进行的。图形操作与文件操作一样,在操作结束后,都需要释放句柄,以节省服务器资源。,9.1.1 创建和销毁图形,使用imagecreate()函数,可以创建一个新图形,并返回一个句柄,供其他函数使用。使用imagedestroy()函数,可以释放一个图形句柄,从而节省服务器资源。下面通过一段演示代码,来介绍创建、操作、输出、销毁图形式的方法,,9.1.2 新建一个真彩色图形,使用imagecreatetruecolor()函数,也可以创建一个新图形,并返回一个图形句柄,但其创建的新图形的背景默认是黑色的。下面演示imagecreatetruecolor()函数的使用方法,代码如清单所示。,9.1.3 使用已有图片创建新图形,除了使用imagecreate()与imagecreatetruecolor()函数可以创建图形外,还可以使用函数,根据已有的图像来创建新图形。可以根据已有图形创建新图形的函数有: imagecreatefromgif()函数:使用已有的GIF文件创建新图形。 imagecreatefromjpeg()函数:使用已有的JPEG文件创建新图形。 imagecreatefrompng()函数:使用已有的PNG文件创建新图形。 imagecreatefromwbmp()函数:使用已有的WBMP文件创建新图形。 imagecreatefromxbm()函数:使用已有的XBM文件创建新图形。,9.2 几何图形与图形填充,在图形创建后,就可以在图形上进行相关操作了,这些操作包括写入文字、填充颜色、画几何图形等。 在众多的操作过程中,图形函数都是使用坐标来定位操作对象。图形的宽被视为坐标的轴,图形的高被视为坐标的轴。图形的左上角的坐标就是:0,0。右下角的坐标值,会因为图形的宽与高的不同而不同。本节主要图形处理函数中,与几何图形相关的函数,以及填充颜色的方面。,9.2.1 画一个单一像素,像素是组成图形的最小元素,所有位图图形都是以像素为基本元素构成的。在PHP中使用imagesetpixel()函数,可以在已创建的图形上画一个像素。下面演示imagesetpixel()函数有4个参数: 第1个参数是必选参数,用于指定要操作的图形句柄。 第2个参数是必选参数,用于指定像素在X坐标上的位置。 第3个参数是必选参数,用于指定像素在坐标上的位置。 第4个参数是必选参数,用于指定所画像素的颜色。 清单9.4中的代码,在不同的位置,使用不同的颜色,画了四个像素点,最后呈现出来的结果,四个不同颜色的像素,将组成一条斜线。,9.2.2 画一条线段,使用imageline()函数,可以在已创建的图形上画一段线段。下面演示imageline()函数的使用方法,代码如清单所示。,9.2.3 画椭圆弧,使用imagearc()函数,可以在已创建的图形上画一段椭圆弧,椭圆弧的位置、宽度、高度、度数,都是由参数来控制的,当所画的椭圆弧宽度和高度相等,且度数为360度时,画出的将是个圆。下面演示imagearc()函数的使用方法,代码如清单所示。,9.2.4 画椭圆,使用imageellipse()函数,可以在已创建的图形上画一个椭圆,椭圆的位置、宽度、高度,都是由参数来控制的,当椭圆的宽度和高度相等时,画出的将是一个圆。下面演示imageellipse()函数的使用方法,代码如清单所示。,9.2.5 画一个矩形,在几何学中一个重要的图形就是矩形,矩形包括:长方形、正方形。使用imagerectangle()函数,可以在已创建的图形上画一个矩形。下面演示imagerectangle()函数的使用方法,代码如清单所示。,9.2.6 画一个多边形,使用imagepolygon()函数,可以在已创建的图形上画一个多边形,多边形的顶点数在参数中设置。下面演示imagepolygon()函数的使用方法,,9.2.7 区域填充,区域填充是使用颜色,对指定位置上色的过程。这一过程可以使用imagefill()函数来完成,imagefill()会指定一个点,与这个点相邻,并具颜色相同的点,都会被指定的颜色重新填充。下面演示imagefill函数的使用方法,,9.2.8 画一道椭圆弧且填充,虽然使用imagefill()函数,可以为指定区域填充颜色,但是要计算填充点,也是一件很麻烦的事。PHP为此提供了很好的解决方案,在画这些几何图形时,就指定填充颜色,一次性完成画图和填充的工作。 使用imagefilledarc()函数,可以在画出椭圆弧的同时,使用指定颜色对其进行填充。使用此函数的这种功能,就可以很简单的画出一个用于统计的饼状图。下面演示imagefilledarc()函数的使用方法,代码如清单所示。,9.2.9 画一个椭圆并填充,使用imagefilledellipse()函数,可以在已创建的图形上画一个椭圆,并使用指定颜色进行填充。下面演示imagefilledellipse()函数的使用方法,,9.2.10 画一个矩形并填充,使用imagefilledrectangle()函数,可以在已创建的图形上画一个矩形,并使用指定的颜色进行填充。下面演示imagefilledrectangle()函数的使用方法,,9.2.11 画一个多边形并填充,使用imagefilledpolygon()函数,可以在已创建的图形上画一个多边形,并使用指定颜色进行填充。下面演示imagefilledpolygon()函数的使用方法,,9.2.12 区域填充到指定颜色的边界为止,使用imagefilltoborder()函数,可以为指定点进行填充颜色,当遇到指定颜色的边界时,就停止填充。下面演示imagefilltoborder()函数的使用方法,,9.3 获取图形信息,图形处理不仅仅局限于创建图形,也可以针对已经存在的图形进行操作。要操作已经存的图形,必须了解要操作图形的信息,这些与图形相关的信息,都可以使用相关的图形函数获取。,9.3.1 取得当前安装的GD库的信息,要想了解当前服务器对于图形的支持等信息,最好的方法就是获取GD库的安装信息。GD库是PHP用于处理图形的一个外部扩展库,要想在PHP中处理图形,必须打开对GD库的支持。 使用gd_info()函数,可以取得当前服务器GD库的情况,这些信息包括GD库的版本、对字体支持的情况、对图形类型支持的情况等。下面演示gd_info()函数的使用方法,代码如清单所示。 清单 gd_info()函数的使用方法 “; print_r($gd_array); echo “; ?,9.3.2 取得图形文件信息,关于图形的信息包括:尺寸、大小、类型等。使用getimagesize()函数,可以取得已存在图形文件的相关信息,下面演示getimagesize()函数的使用方法,代码如清单所示。 清单 getimagesize()函数的使用方法 “; print_r($size); echo “; ?,9.3.3 取得图形宽度与高度,要想取得已创建图形的宽度和高度,可以使用imagesx()与imagesy()函数,下面演示这两种函数的使用方法,代码如清单所示。 清单 imagesx()与imagesy()函数的使用方法 imagesx()与imagesy()函数都只有1个必选参数,其值是1个已经创建的图形句柄,这两个函数据可以根据这个句柄,返回新建图形的宽和高。,9.3.4 取得图形类型的MIME类型,使用image_type_to_mime_type()函数,可以根据IMAGETYPE常量,返回图形文件的MIME值。下面演示image_type_to_mime_type()函数的使用方法,代码如清单所示。 清单 image_type_to_mime_type()函数的使用方法 ,9.4 图形与颜色,在创建图形后,只有为其添加上颜色,才能使图形更加有表现力,特别是用于展示数据、或安全认证方面。本节主要介绍图形函数中,与颜色有关的函数,及其在实际中的应用。,9.4.1 为图形分配颜色,在本章的前3节,已经使用了imagecolorallocate()函数,其作用是为创建的图形分配颜色。imagecolorallocate()函数使用的颜色,都是通过三原色,即红、绿、蓝三种颜色变化而来的,其每个颜色使用0到255的值来表示,也可以使用16进制来表示颜色取值,16进制的颜色取值从0x00到0xff。下面演示imagecolorallocate()的使用方法, imagecolorallocate()函数有4个必选参数: 第1个参数用于指定要分配颜色的图形句柄。 第2个参数用于指定要分配颜色中红色的取值。 第3个参数用于指定要分配颜色中绿色的取值。 第4个参数用于指定要分配颜色中蓝色的取值。,9.4.2 定义透明色,使用imagecolorallocatealpha()函数,也可以为指定的图形会配颜色,但与imagecolorallocate()函数相比,imagecolorallocatealpha()函数多了一个参数,这个参数用于设置颜色的透明度。下面演示imagecolorallocate()函数的使用方法,,9.4.3 颜色与索引,在图形中使用的颜色都是存储在调色板中的,每一个颜色都对应着一个索引值。可以通过相关的图形函数,查看颜色对应的索引值,或索引值对应的颜色,演示代码如清单所示。,9.5 图形的处理,本节主要介绍PHP中与图形处理有关的函数。PHP中对图形的处理包括很多方面,其中主要有图像的复制、部分复制、图像旋转、图像相关设置等。使用与图形处理相关的函数,可以使图片实现更多的效果。,9.5.1 复制图形的一部分,使用imagecopy()函数,可以把源图形文件中的指定区域,复制到指定图形文件中。下面演示imagecopy()函数的使用方法,代码如清单所示。 清单 复制图形的一部分 ,9.5.2 复制图形并调整大小,使用imagecopyresized()函数,不仅可以实现imagecopy()函数的功能,还可以对复制的图形大小进行调整。使用imagecopyresized()函数的这一功能,可以实现图形的缩略图显示。下面演示imagecopyresized()函数的使用方法,代码如清单所示。,9.5.3 实现高清晰度缩略图,虽然使用imagecopyresized()函数,可以实现输出图形的缩略图,但是生成的缩略图的质量大不如以前,而使用imagecopyresampled()函数,可以实现高清晰度的缩加略图。imagecopyresampled()函数在操作图形时,会重新对复制的源文件进行采样,再进行缩放操作,这样产生的缩略图的质量比较高。下面介绍使用imagecopyresampled()函数,实现缩略图的方法,代码如清单所示。,9.5.4 对图形使用过滤器,使用imagefilter()函数,可以使图形呈现不同的效果,下面介绍imagefilter()函数的使用方法,代码如清单所示。 清单 imagefilter()函数的使用方法 ,9.5.5 用给定角度旋转图形,使用imagerotate()函数,可以使用图形,按指定的度数旋转。下面演示imagerotate()函数的使用方法,代码如清单所示。 清单 imagerotate()函数的使用方法 ,9.5.6 设定画线的风格,使用imagesetstyle()函数,可以按像素设置画线的颜色。下面介绍imagesetstyle()函数的使用方法,代码如清单所示。,9.5.7 设定画线用的画笔图形,PHP图形中,默认的画笔是像素点,也可以使用imagesetbrush()函数,设置1个图片作为画笔图形。下面演示imagesetbrush()函数的使用方法,代码如清单所示。,9.5.8 设定画线的宽度,在本章介绍imageline()函数时,使用imageline()函数模拟了画粗线的方法,实际上PHP提供了更好的解决方案,使用imagesetthickness()函数,可以设置画几何图形时,线条的宽度。下面介绍imagesetthickness()函数的使用方法,,9.5.9 将某个颜色定义为透明色,使用imagecolortransparent()函数,可以指图形中指定的颜色设置为透明色,此函数在9.5.7小节中已经使用过,详细使用方法,请参照清单9.29中的代码,imagecolortransparent()函数有2个参数: 第1个参数是必选参数,其值是用于设置透明色的图形句柄。 第2个参数是可选参数,用于指定设置为透明色的颜色值,其值是imagecolorallocate()函数返回的颜色标识符,如果省略此参数,函数将返回当前透明色的标识符。 在使用imagecolortransparent()函数时要注意,透明色是图像的一种属性,而不是颜色的属性。一旦设定了某个颜色为透明色,图像中之前画为该色的任何区域都成为透明的。 注意:透明度仅能通过imagecopymerge()和真彩色图像复制,不能用 imagecopy()或调色板图像。,9.5.10 设定用于填充的贴图,使用imagesettile()函数,可以定义一个图形,并用其填充另一个图形。下面介绍imagesettile()函数的使用方法,代码如清单所示。,9.6 图形与字体,字体是图形中一个重要的元素,在PHP中可以使用内置的字体,也可以加载外部字体,在图形中插入漂亮的文字。本节主要介绍图形函数中与字体相关的函数。,9.6.1 输出一个字符,字符在图形的输出分为水平输出和垂直输出,要在图形上水平输出一个字符可以使用imagechar()函数,垂直输出字符可以使用imagecharup()函数。下面介绍这两个函数的使用方法,9.6.2 输出字符串,在图形中水平输出一个字符串,可以使用imagestring()函数,垂直输出一个字符串,可以使用imagestringup()函数。下面介绍这两个函数的使用方法,代码如清单所示。,9.6.3 在图形中使用指定字体,使用imagettftext()函数,可以向图片输出字符的同时,也可指定输出字符所使用的字体,另外imagettftext()函数也可以根据参数,输出不同角度的字符串。下面演示imagettftext()函数的使用方法,,9.6.4 输出中文字符,要想在图形中输出中文字符,需要对输出的中文字符进行编码。使用iconv()函数,可以把一种编码的字符,转换为其他编码的字符。下面介绍在图形中输出中文字符的方法,,9.7 图形的输出,在图形中进行了文字、颜色、几何图形的操作后,最重要就是输出结果。在前面的章节中,使用了imagepng()函数来输出PNG格式的图形。PHP图形函数支持的图形格式,都可以使用特定的函数来输出。本节主要介绍PHP图形函数中,与输出图形相关的函数。,9.7.1 将图形以PNG格式输出到浏览器或文件,PNG格式的英文全称是:Portable Network Graphic Format,即流式网络图形格式,这种格式主要用于替换GIF和TIFF格式的文件,其主要扩展名是:.png。使用imagepng()函数可以把图形输出到浏览器中,也可以把图形输出为PNG格式的文件。下面介绍imagepng()函数的使用方法,代码如清单所示。,9.7.2 将图形以JPEG格式输出到浏览器或文件,JPEG格式是一种被广泛使用的失真压缩标准方法,其主要扩展有:.jpg、.JPG、.jpeg、.jfif、JPE。使用imagejpeg()函数,可以把图形以JPEG格式,输出到浏览器或文件中。下面介绍imagejpeg()函数的使用方法,代码如清单所示。,9.7.3 将图形以GIF格式输出到浏览器或文件,GIF格式是用于压缩具有单调颜色,以及清晰细节的图像的标准格式,其主要扩展名为:.gif。使用imagegif ()函数,可以把图形以GIF格式,输出到浏览器或文件中。下面介绍imagegif()函数的使用方法,代码如清单所示。,9.8 其他图形函数,9.8.1 取得服务器支持的图形类型,使用imagetypes()函数,可以检查指定的图形类型,是否被服务器所支持。下面介绍imagetypes()函数的使用方法,代码如清单所示。 清单 取得服务器支持的图形类型 “; /检查服务器是否支持JPEG文件 if(imagetypes() ?,9.8.2 检查图形是否为真彩色图形,使用imageistruecolor()函数,可以检查一个图形是否为真彩色。下面介绍imageistruecolor()函数的使用方法,代码如清单所示。 清单 检查图形是否为真彩色图形 ,9.9 常见问题,本章主要介绍了与图形处理相关的函数。图形处理应用的范围很广泛,包括的知识点也比较多。本节主要总结一下在使用图形函数时,容易出现问题,供读者参考。,9.9.1 关于分配颜色,图形中颜色的取值,是一件很麻烦的事,设定颜色使用的数据值,以及函数返回的颜色索引值,并不能很直观的反应出是什么颜色,这时就需要一些函数的配合使用。 在分配颜色时,可以记得经常使用的颜色值,如:黑(0,0,0)、白(255,255,255)、红(255,0,0)、蓝(0,0,255)、绿(0,255,0)等,至于不经常使用的颜色值,可以使用一些软件获取,例如:Dreamweaver、Photoshop等,也可以通过网络,获取一些小型的取色软件。,9.9.2 关于图形格式,可以在网络上使用的图形格式很多,在不同的情况下,可以使用不同的图形格式,来优化网络流量。各种图形格式的说明如下所示。 GIF分为静态GIF和动态GIF两种格式,其中静态GIF在图片颜色比较少,图片尺寸比较小的情况下,比JPEG格式的文件占空间更少。而动态GIF可以实现最基本的动画,普通的广告,都可以使用些类型的图形格式。 PNG格式称为流式网络格式,可见其在网络应用中的份量,在实际应该中,也建议使用PNG格式文件,替代GIF格式的文件。 JPEG格式的文件可以呈现很好的色彩,在图形尺寸比较大,颜色比较丰富的情况下,使用JPEG格式的文件,更有优势。,9.3.3 关于中文字符,在图形中输出中文字符,必须满足两个条件: 以要输出的中文字符,进行转码。 输出中主文字符的字体需要支持中文。 字符的转码工作,可以使用iconv()函数实现。其使用方法已经在前面的章节进行了介绍。经常使用的中文字体有宋体、黑体等,也可以下载其他格式的中文字体,但是在使用时,一定要字体路径是否正确。,9.9.4 关于函数参数,本章介绍的函数中,有一些函数的参数比较多,这很容易引起运行错误。特别是用于图形定位的坐标。 在操作图形前,应该建立一个空间感,一般的坐标是超向上,数据数值越大。而在PHP的图形函数中,坐标的原点(0,0)位于图片的左上角,X的值越向下,值越大,Y的值越向右,值越大。 参数过多也容易引起参数类型不对应的问题,特别是关于颜色的设置。图形中使用的颜色,都需要使用imagecolorallocate()函数,根据图形文件的句柄分配的,在使用没有经过分配的颜色时,会产生不正确的结果。,

    注意事项

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

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




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

    三一文库
    收起
    展开