图形、图像与动画1
一,使用UIImage和CGImage处理位图
1,显示动画
+imageNamed:该方法存在缓存机制;
+imageWithContentsOfFile:该方法用于加载指定文件名对应的图片;
+imageWithData:该方法用于根据NSData中封装的图片数据来创建图片
+imageWithData:scale:该方法用于根据NSData中封装的图片数据来创建图片,并按指定的缩放因子对图片进行缩放;
+imageWithCGImage:该方法用于根据指定的CGImageRef对象来创建UIImage;
+imageWithCGImage:scale:orientation:
+animatedImageNamed:duration: 根据指定的图片名来加载系列图片;
+animatedImageWithImages:duration:该方法需要传入一个NSArray作为多张动画图片。
2,CGImage和CGImageRef
UIImage的功能有限,不能对图片进行缩放、旋转,不能"挖取"源图片的指定区域等,这些功能可借助Quartz 2D的CGImageRef来实现。
UIImage与CGImageRef可以相互转换;
eg:
UIImage* image = ...
CGImageRef ciRef = [image CGImage];
或 UIImage*image = [UImage imageWithCGImage:ciRef];
二 Quartz 2D绘图
Quartz 2D绘图的核心API是CGContextRef,该API专门用于绘制各种图形。
1,CGContextRef