nsrect等绘图用法

nsrect等绘图用法

ID:11713198

大小:94.22 KB

页数:10页

时间:2018-07-13

nsrect等绘图用法_第1页
nsrect等绘图用法_第2页
nsrect等绘图用法_第3页
nsrect等绘图用法_第4页
nsrect等绘图用法_第5页
资源描述:

《nsrect等绘图用法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Quartz介绍Quartz是Cocoa全部图表算法的核心。它是图表算法数据结构和画图的基础,也是MacOSX的窗口服务器。此入门级的教程会介绍Cocoa图表算法的基本概念,包括:矩形,点,颜色和系统坐标。 矩形和点 在 Quartz的所有绘图包括矩形。在Cocoa,你可以用 NSRect 结构去描述一个矩形的位置和尺寸:(矩形不能自动进行描绘。在下面的例子中带有图表说明)typedefstruct{NSPointorigin;NSSizesize;                                      

2、        } NSRect;//在原点画一个20x20大小的正方形。NSRect myRect;myRect.origin.x=0;myRect.origin.y=0;myRect.size.width=20;myRect.size.height=20; 原点是画矩形开始的地方。点由 NSPoint来描述,有坐标x和y:typedefstruct{floatx;floaty;} NSPoint;//画三个点NSPoint point1;                                      poin

3、t1.x=4;point1.y=11;NSPoint point2;point2.x=12;point2.y=21;NSPoint point3;point3.x=19;point3.y=8;  矩形的大小区域是一个 NSSize,包含了长和宽。没有办法去描述一个NSSize实例,它必须作为矩形的一部分来使用。typedefstruct{floatwidth;floatheight;} NSSize; Cocoa大部分的两维画图是基于以上三个机构。注意,它们不是Objective-C的类。你能直接在这些结构里调用方法,但是函

4、数的形式。所有在Quartz的尺寸都是float值,这比整形的坐标更好地控制画图。简单的函数Cocoa  有很多创建几何机构的函数。大部分列在 NSGeometry.h 文件的函数库里。 //在坐标(20,20)处画一个点NSPointnewPoint= NSMakePoint (20,20); //面积大小为为长100,高100NSSizenewSize= NSMakeSize (100,100); //利用前面的点和面积画一个矩形NSRectnewRect= NSMakeRect (newPoint.x,        

5、                       newPoint.y,                               newSize.width,                               newSize.height); //也可以这样写NSRectnewRect= NSMakeRect (20,20,100,100); 使用这些函数来创建结构,而不是手动来画,令代码清楚,搜索更方便。 Quartz中的坐标Cocoa里画图的区域被作为一个矩形。Quartz调用这个画图区域“bounds”。一个

6、NSPoint点就能描绘bounds视图的任何位置。 标准的Quartz系统坐标是基于PDF模式,也就是说画图要从左下角开始。这就是你在几何教科书里面看到的。有时候,如果原点在左上角,写画图代码更容易。例如,这和设计网页的原理一样。Quartz调用这个倒装的系统坐标。 使用NSView的 convertPoint:fromView: 和 convertPoint:toView:方法,就能对标准视图和倒装视图的点进行置换。  矩形作为一个对象因为矩形不是对象,你不能直接地保存几何机构到一个NSArray,NSDictionar

7、y,或者NSSet,但你能把他们包在一个NSValue对象里: NSRectnewRect=NSMakeRect(20,20,100,100);NSValue* rectObject =[NSValue valueWithRect:newRect]; NSMutableArray*myArray=[NSMutableArrayarray];[myArrayaddObject: rectObject]; NSRectoriginalRect=[[myArrayobjectAtIndex:0] rectValue]; NSVal

8、ue的方法与NSPoint和NSSize的方法相似。你也能用 NSStringFromRect 函数来记载矩形的信息: NSRectnewRect=NSMakeRect(20,20,100,100);NSLog(@"%@", NSStringFromRect(newRect)); 另外一个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。