往期文章索引: 1 / 入门基本概念、page的相关操作 2 / artboard 、NSFileManager 和 NSString 关于文件及文件夹的相关操作 5/ Shape 的一些操作,主要介绍 line 及 rect 7/ GUI Cocoa 提供了自己的数据结构来操作基本的几何信息,如点和矩形。包括如下: NSPoint、NSSize、NSRect 01 NSPoint 点数据类型由一个 x 和 y 值组成。例如,用点来定义直线,指定矩形的起点,指定弧的角度等等。 有 2 种方法可以定义 NSPoint: var p1=NSMakePoint(1,2);
log(p1) 打印出来看下 CGPoint {
x = 1,
y = 2 NSPoint 其实就是 CGPoint 。 02 NSSize 大小数据类型由 width 和 height log(NSMakeSize(200,100)) 打印出来是: CGSize {
width = 200,
height = 100 03 NSRect 矩形数据类型是由原点和大小组成的复合结构。该 size 字段指定相对于原点的矩形高度和宽度。 var rect=NSMakeRect(0,0,12,12);
log(rect) 结果: CGRect { origin = CGPoint { x = 0, y = 0 }, size = CGSize { width = 12, height = 12 } } CGRect { origin = CGPoint { x = 20, y = 10 }, size = CGSize { width = 330, height = 90 } } NSRect 有几个方法蛮有用的: NSContainsRect 判断一个 NSRect 是否包含另一个 NSRect: var rect=NSMakeRect(30,30,12,12); NSIntegralRect 取整 NSRect var rect=NSMakeRect(30,30.2,12.12,12.89); log(NSIntegralRect(rect)) NSIntersectionRect 求 2 个 NSRect 的交集 var rect=NSMakeRect(10,30,103,25);
log(rect) 如下图所示: NSOffsetRect 偏移 NSRect ,有兴趣自己做下实验。 04 路径NSBezierPath |
|
来自: Mixlab交叉学科 > 《待分类》