IOS Drawing 3
UIKit 框架属于高层框架,
除此之外,另两个低层框架是经常用到的: Core Graphics And image I/O .
通过Core Graphics我们可以创建和应用image masks,从一个存在的iamges中创建一部分对象,应用一个色彩空间,可以通过每一个字节,每一个像素的访问images,并渲染。
image I/O 框架和Core Graphics紧密相关。它允许应用程序去读取和写入各种image文件格式。它可以快速的编码和解码image,iamge metadata和image caching。
UIImageView is a method to display an Image. but you can use [UIImage drawInRect] to overload drawRect method to display an Image.
[anImage drawAtPoint:CGPointMake(10, 10)]
我们可以创建一个bitmap image context,然后绘制它,再从context中得到一个image 对象。我们可以在很多情况下使用此技术。如缩小一个image(创建一个缩微图),合成多张image,或者保存在静态形式下的drawing 结果。
我们可以使用UIKit框架或者Core Graphics框架的函数去绘制一个bitmap context ,然后从中提取image
在UIKit中,过程如下:
(1)调用函数 UIGraphicsBeginImageContextWithOptions or UIGraphicsBeginImageContext去创建一个新的image-based graphics context。
第一个函数是首选,他有三个参数,bitmap的size,一个标记指示bitmap是否不透明,已经应用与bitmap的scale factor。如果我们想要image有部分透明的像素,不透明标记应该设置为NO。
(2)在context中draw image内容。可以使用UIKit方法或者Core Graphics函数去绘制。
(3)调用函数UIGraphicsGetImageFromCurrentImageContext 去生成和返回一个绘制的UIImage对象。我们可以在调用此方法之后继续绘制images。
(4)调用函数UIGraphicsEndImageContext去关闭graphic context。