iOS开发 ☞ Quartz2D详解
2016-04-10 16:44
459 查看
一、CGContextFillPath、CGContextStrokePath与CGContextDrawPath
CGContextDrawPath可以实现前两种效果的叠加
基本姿势
坐标系
Quarez2D:
而UIKit的坐标原点则在左上角,所以使用时需要转化。
使用UIGraphicsGetCurrentContext()得到的画布已经帮我们适应了UIKit坐标系,所以无需转化.
图形上下文:
我们自定义的UI控件内容都是通过Layer显示出来,在自定义控件时,需要实现drawrect方法。
其实使用QuartzD与UIView画线同样的尺寸线宽是不一样的
右边是我设置线宽为1使用画笔绘制的,而左边是UIView,宽度为一设置的。所以差异应该来源于单位不一致,我们使用frame坐标,单位是点,而使用绘图引擎,单位应当是像素。
CGContextDrawPath可以实现前两种效果的叠加
基本姿势
坐标系
Quarez2D:
而UIKit的坐标原点则在左上角,所以使用时需要转化。
使用UIGraphicsGetCurrentContext()得到的画布已经帮我们适应了UIKit坐标系,所以无需转化.
图形上下文:
我们自定义的UI控件内容都是通过Layer显示出来,在自定义控件时,需要实现drawrect方法。
其实使用QuartzD与UIView画线同样的尺寸线宽是不一样的
右边是我设置线宽为1使用画笔绘制的,而左边是UIView,宽度为一设置的。所以差异应该来源于单位不一致,我们使用frame坐标,单位是点,而使用绘图引擎,单位应当是像素。
相关文章推荐
- IOS学习 第三方框架 SDWebImage ARC与MRC混编
- IOS开发之音频--录音
- 项目实战:iOS极光推送集成(30分钟搞定)
- IOS学习 NSCache 缓存类
- IOS开发之----常用函数和常数
- iOS-RegexKitLite导入错误
- iOS 给手势添加tag
- iOS触摸事件
- IOS中延时执行的几种方式的比较
- iOS开发小技巧--定义宏和pch文件的使用
- iOS彩票项目--第三天,搭建竞技场和发现,搭建幸运选号和我的彩票界面
- iOS开发系列--数据存取
- IOS开发 随笔
- [iOS]Xcode升级后,安装的插件失效
- IOS Animation-CABasicAnimation例子(简单动画实现)
- iOS 用StackView的第三方FDStackView,有时会出现crash,'NSInternalInconsistencyException', reason: 'Multiplier is
- [iOS]Xcode插件管理器Alcatraz
- iOS中用@property定义属性时的注意点.
- Xcode侧栏无法拖动以及无法选择模拟器的解决办法
- ios上视频与音乐合成后出现播放兼容问题的解决方法