好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

轻松学iPhone开发之图像和绘.ppt

47页
  • 卖家[上传人]:桔****
  • 文档编号:592938092
  • 上传时间:2024-09-23
  • 文档格式:PPT
  • 文档大小:1.23MB
  • / 47 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第第4 4章章 图图像和像和绘图绘图+UIView的子类中,我们可以使用固定的形状如UIButton,TextField来绘制用户界面有时,为了使用户看到的界面生动形象,我们可以自己绘制一个图形绘制图形的方法有两种:一种是使用UIImageView类来显示一个图像,一种是通过代码来动态的绘制一个图形本章主要讲解使用代码动态绘制一个图形 4.1 4.1 图图像像视图视图的的创创建建+图像是由一些排列的像素组成的,在计算机中的存储格式有BMP、PCX、TIF、GIFD等,一般数据量比较大它除了可以表达真实的照片外,也可以表现复杂绘画的某些细节,并具有灵活和富有创造力等特点我们要在用户界面显示图像,必须要有UIImageView视图才可以,现在我们来为大家讲解图像视图的创建 4.1.1 4.1.1 静静态创态创建建图图像像视图视图+创建一个项目名为400的项目要静态创建一个图像视图,首先要拖一个UIImageView的视图到文件的设置界面再将一个要显示的图像添加到项目中的Supporting Files文件夹中如果要显示的图像在Supporting Files文件夹中就不需要添加。

      在这里我们要显示的图像在桌面上,图像名为“”图片添加好以后,我们选择“show the Attributes inspector”对话框中Image View选项,将Image设置为要用来显示在用户界面的图像 4.1.2 4.1.2 动态创动态创建建图图像像视图视图+我们不仅可以使用手动创建图像即静态创建图像,还可以动态的创建图像也就是我们所说的使用代码创建图像视图,创建图像视图的形式如图所示 4.2 4.2 图图像的属性像的属性+属性相信大家并不陌生了我们在使用图像时,为了达到最佳效果,也需要设置图像的属性本节将主要为大家讲解图像的显示方式、图示的显示位置等相关方面的内容 4.2.1 4.2.1 图图像的像的显显示方式示方式+当我们在文件中设置用户界面时,将UIImageView拖到设置界面,大家会看到“show the Attributes inspector”选项卡的View中有一个Mode设置,它就是将图像以各种方式进行显示 4.2.1 4.2.1 图图像的像的显显示方式示方式 4.2.2 4.2.2 图图像的像的显显示位置示位置+如果我们想要改变图像的位置时,我们可以采用三种方法:frame、center、transform。

      接下来我们详细的为大家讲解这三种方法 +要想修改图像的位置,我们可以在创建时直接选择我们要将图片放置的位置,使用frame的形式 +我们如果要通过使用图像视图的中间点来改变图像的显示位置 +transform的功能不仅可以改变图像的位置,还可以使图像进行旋转和缩放 4.2.3 4.2.3 图图像的其它属性像的其它属性+以上我们为大家讲解了我们常用到的属性设置接下来,我们为大家介绍图像的其它属性设置名称名称功能功能hidden隐藏或显示图像alpha设置透明度highlightedImage设置高亮时显示的图片image设置正常显示的图片 4.3 4.3 图图像切像切换换+我们在使用查看相册中的图像时,就用到了图片的切换,本节我们将为大家讲解图像和图像之间是如图实现切换的 4.4 4.4 绘图绘图+为了使我们的用户界面看起来很漂亮,我们可以使用代码动态的绘制我们想要的图形而所有的绘图都必须要通过图形上下文来实现本节将主要讲解图形上下文和在绘图时所用到的数据类型等相关方面的内容 4.4.1 4.4.1 图图形上下文形上下文+图形上下文(Graphics Context)是一个非常重要的概念。

      没有它,我们无法对图形设备画任何东西图形上下文为图形设备提供了上下文,通俗点讲,就是提供了画图环境所谓图形设备就是对呈现图形的设备的抽象,比如屏幕、打印机等一般我们用到的图形上下文一共有五种 4.4.1 4.4.1 图图形上下文形上下文名称名称功能功能位位图图形上下文(形上下文(Bitmap graphics context))允许用户绘制RGB或者CMYK颜色,或者调整一张位图的灰度PDF图形上下文(形上下文(PDF graphics context))可以让用户创建PDF文件PDF文件是Adobe公司的矢量绘图协议,可以直接打印窗口文件窗口文件图形上下文(形上下文(Window graphics context))可以让用户图形上下文绘制到窗口,前提是用户必须会在此窗口获取相应的图形上下文图层图形上下文(形上下文(Layer graphics context))绘制到图层里面PostScript graphics context针对打印 4.4.2 4.4.2 数据数据类类型型+在绘图中,有着它自己特有的数据类型这些数据类型以功能数据数据类型型功能功能CGPathRef用于画路径,例如直线(一点到另一点的路径)CGImageRef用于处理图片CGShadingRef阴影CGLayerRef用于处理图层CGFunctionRef定义回调函数CGColorRef处理颜色CGPSConverterRef将PostScript转换为PDFCGDataConsumerRef管理数据CGFontRef字体CGPDFDictionayRef管理PDFCGPDFScannerRef解析PDF格式 4.5 4.5 绘绘制路径制路径+路径指的是物体活动的轨迹,我们可以通过不同的路径将我们的图绘制为直线、矩形、圆等不同的形状。

      本节将主要为大家讲解基本形状的绘制方法 4.5.1 4.5.1 绘绘制直制直线线+要绘制直线,必须要获取当前的图形上下文只有获取了当前的图形上下文我们才可以绘制图形或修改绘图结果 4.5.1 4.5.1 绘绘制直制直线线 4.5.1 4.5.1 绘绘制直制直线线 4.5.1 4.5.1 绘绘制直制直线线 4.5.2 4.5.2 绘绘制矩形制矩形+直线是我们使用路径指令绘制的最简单的图形现在我们使用路径中的CGContextAddRect或者是CGContextAddRects来绘制一个矩形在这里我们使用的是CGContextAddRect绘制矩形 4.5.3 4.5.3 绘绘制制圆圆+在路径指令中使用CGContextAddEllipseInRect指令来绘制圆 4.5.4 4.5.4 其它的路径指令其它的路径指令+以上路径指令是大家经常用到的,以下是路径指令中的其它指令功能功能指令指令用一个或两个控制点描用一个或两个控制点描绘一条一条贝赛尔曲曲线CGContextAddQuadCurveToPointCGContextAddCurveToToPoint绘制一条制一条圆弧弧CGContextAddArcToPointCGContextAddArc闭合当前路径合当前路径CGContextClosePath这将追加一条连接路径起点和终点的线段。

      如果打算填充路径,不需要此操作系统会自动实现描描边或填充路径(即把路径画出来)或填充路径(即把路径画出来)CGContextStrokePathCGContextFillPathCGContextEOFillPathCGContextDrawPath同时描边和填充路径清除矩形清除矩形CGContextClearRect 4.5.5 IPHONE SIMULATOR4.5.5 IPHONE SIMULATOR不不显显示示绘绘制制内容的情况内容的情况+由于各种意外情况,在编写好程序以后,iPhone Simulator模拟器不会出现我们所绘制的内容,现在我们将一些可能的情况列出,希望大家注意 1.1.运行运行时时+我们在编写好程序以后是不能直接运行的,要将文件的设置界面所遵循的类改为我们所创建的绘制图形的类一般都被命名为“draw” 2 2. .缺少描缺少描边边或填充路径的指令或填充路径的指令+在绘制好图形以后,描边或填充路径的指令是不可缺少的我们以示例4-12为例,将程序的CGContextStrokePath指令故意缺少,这样iPhone Simulator模拟器就不会显示我们所绘制的图形。

      3.3.没有指定当前点没有指定当前点+如果我们绘制的图形用到了路径指令中CGContextAddLineToPoint或者是CGContextAddArcToPoint等和点相关的指令时,要指定当前点的位置我们以示例4-12为例,将指定CGContextMoveToPoint所指定的当前点去掉,这样iPhone Simulator模拟器也不会显示我们所绘制的圆弧 绘绘制位制位图图+位图指的是以无数的色彩点组成的图案当我们将位图无限放大时就会看到一块一块的像素色块,这时效果会失真本节主要为大家讲解绘制位图的两种方法:一种是CGContextDrawImage,一种是CGContextDrawTiledImage 4.6.1 CGCONTEXTDRAWIMAGE4.6.1 CGCONTEXTDRAWIMAGE绘绘制位制位图图+如果我们要将相应的图片绘制到我们所指定的矩形区域中,那么就要使用CGContextDrawImage方法绘制的位图 4.6.2 CGCONTEXTDRAWTILEDIMAGE4.6.2 CGCONTEXTDRAWTILEDIMAGE绘绘制制位位图图+如果想让固定大小的位图平铺某个区域,就要使用CGContextDrawTiledImage设置所要绘制的图形。

      4.6.2 CGCONTEXTDRAWTILEDIMAGE4.6.2 CGCONTEXTDRAWTILEDIMAGE绘绘制制位位图图 阴影阴影+有时,为了让绘制的图形更有立体感,我们就要为图形加上阴影为了在绘图中添加阴影,需要在绘图前给图形上下文设置阴影,设置阴影的方法通常为CGContextSetShadow 绘绘制文字制文字+一般我们使用textField或者是Text View视图书写的文字不能直接达到我们想要的效果,所以我们就使用代码动态的绘制文字本节将主要为大家讲解有关文字中的选择文字、设置绘制的模式、设置文字转换矩阵、绘制文字等相关方面的内容 4.8.1 4.8.1 选择选择字体字体+要绘制一个文字,首选要进行字体的选择,我们可以使用CGContextSelectFont选择我们想要的字体 4.8.2 4.8.2 设设置文字置文字绘绘制模式制模式+文字的绘制模式一般使用CGContextSetTextDrawingMode来设置 4.8.3 4.8.3 设设置字体置字体变换变换矩矩阵阵+CGContextSetTextMatrix的功能是设置字体转变的矩阵,也是为了防止字体倒立。

      4.8.4 4.8.4 绘绘制文字制文字+当我们按以上过程都设置好以后就可以绘制文字啦,我们使用CGContextShowTextAtPoint来绘制文字 4.8.5 4.8.5 文字的文字的综综合合应应用用+以上的内容是文字的基本设置方法,现在我们就来使用CGContextSelectFont将字体设置为Helvetica,字体大小为,编码格式为kCGEncodingMacRoman使用CGContextSetTextMatrix设置矩阵的平移使用CGContextSetTextDrawingMode设置字体的绘制模式,并将使用者三种绘制模式的字体所用CGContextShowTextAtPoint进行绘制 小小结结+本章主要为大家讲解了使用绘图形式的两种方法::一种是使用UIImageView类来显示一个图像,一种是通过代码来动态的绘制一个图形本章的重点是图像的属性设置和绘制路径希望读者可以使用代码来动态的绘制图形,创建出一个不一样的用户界面。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.