图形、图像与动画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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!