Cocoa绘图实战:笑脸与LOL猫图像生成
1. 视图边界与几何结构
在Cocoa中,视图的边界矩形(bounds rect)默认有特定的原点和大小,例如视图B的默认边界矩形原点为(0, 0),大小为(30, 40)。若有一组x和y值都在0.0到10.0之间的点需要绘制,可通过将视图B的边界矩形大小设置为(10, 10),使这些点恰好填充视图B所占据的空间,而不受视图B实际在屏幕上所占空间大小的影响。
Cocoa中有两种几何结构:NSRect/NSPoint/NSSize和CGRect/CGPoint/CGSize。从Mac OS X 10.5开始,它们可以互换使用。在64位的Cocoa框架中,它们的定义是相同的。若要在32位模式下实现相同效果,可进行如下操作:
1. 点击Xcode导航面板中标记为项目名称(如MrSmiley)的根对象。
2. 按下⌘I打开检查器面板,并切换到面板顶部的“Build”选项卡。
3. 通过弹出按钮选择要修改的配置(如选择“All Configurations”)。
4. 在搜索字段中输入“preprocessor”,在过滤结果中找到“Preprocessor Macros”行。
5. 双击“Preprocessor Macros”右侧的空表格单元格,添加“NS_BUILD_32_LIKE_64”到宏列表中。
2. 路径基础与绘图方法
Cocoa的绘图机制引入了路径(paths)的概念,路径可包含任意数量的直线或曲线线段,且每条路径不要求连续。在实际绘制路径之前,可指定线条粗细、颜色等属性,这些设置将应用于路径的每个部分,路径所勾勒出的形状也可用不同颜色或图案填充。