Quartz2D初体验之画线、画矩形

首先创建了一个继承自UIView的LineView类,在storyboard中添加一个UIView,并把这个view的Custom Class属性设置为LineView

线的实现代码如下

- (void)drawRect:(CGRect)rect {

// Drawing code

//绘一条线

//获取上下文 上下文的输出目标就是self.view

CGContextRef context = UIGraphicsGetCurrentContext();

//设置线的颜色

CGContextSetRGBStrokeColor(context, 1.0, 0.0, 0.0, 1);

//设置线宽

CGContextSetLineWidth(context, 12);

//设置线头尾的样式

CGContextSetLineCap(context, kCGLineCapRound);

//设置连接点的样式

CGContextSetLineJoin(context, kCGLineJoinRound);

//画一条线

//设置起点

CGContextMoveToPoint(context, 10, 10);

//设置连线另一点

CGContextAddLineToPoint(context, 20, 100);

CGContextAddLineToPoint(context, 110, 10);

//画到view上 [渲染]

CGContextStrokePath(context);

}

矩形及三角形的实现代码

- (void)drawRect:(CGRect)rect {

// Drawing code

//[self drawRectangle];

[self drawTriangle];

}

- (void)drawTriangle{

//获取上下文

CGContextRef context = UIGraphicsGetCurrentContext();

//设置线的颜色

CGContextSetRGBStrokeColor(context, 0.0, 1.0, 0.0, 1);

//绘制一个点

CGContextMoveToPoint(context, 10, 10);

//绘制另外三个点

CGContextAddLineToPoint(context, 110, 10);

CGContextAddLineToPoint(context, 110, 110);

//CGContextAddLineToPoint(context, 10, 10);

//关闭路径

CGContextClosePath(context);

//渲染

CGContextStrokePath(context);

}

- (void)drawRectangle{

//绘一条线

//获取上下文 上下文的输出目标就是self.view

CGContextRef context = UIGraphicsGetCurrentContext();

//设置线的颜色

CGContextSetRGBStrokeColor(context, 1.0, 0.0, 0.0, 1);

//设置线宽

CGContextSetLineWidth(context, 5);

//画一个矩形

//=========第一种方法====================

//    //设置起点

//    CGContextMoveToPoint(context, 10, 10);

//

//    //设置连线另外三个点

//    CGContextAddLineToPoint(context,110, 10);

//    CGContextAddLineToPoint(context, 110, 110);

//    CGContextAddLineToPoint(context, 10, 110);

//    CGContextAddLineToPoint(context, 10, 10);

//=========第一种方法====================

CGContextAddRect(context, CGRectMake(10, 10, 100, 100));

//画到view上 [渲染]

//只是画一条 【空心】

//CGContextStrokePath(context);

//填充 【实心】

CGContextFillPath(context);

}

时间: 2024-11-05 02:19:37

Quartz2D初体验之画线、画矩形的相关文章

初学mfc——画像素点 画线 画矩形

//定义坐标系 CRect rect;    GetClientRect(&rect);//其实现在我也不太懂这句话有什么具体意思  !@@!! //采用自定义的形式 窗口和视区的坐标系都自己定义    pDC->SetMapMode(MM_ANISOTROPIC); //经常用的模式还有 MM_TEXT(每个逻辑坐标对应一个设备坐标 正x向右 正y向下) //定义视区,通过与窗口设置的比较  设置成 x正向 右 ,,y正向上                            pDC-&

Quartz2D初体验(二)

下面代码实现画圆.画弧.画扇形 //画圆 - (void)drawCircle{ //获取上下文 CGContextRef context = UIGraphicsGetCurrentContext(); //画圆 CGContextAddEllipseInRect(context, CGRectMake(10, 10, 100, 100)); //渲染 CGContextStrokePath(context); } //画弧 - (void)drawArc{ //获取上下文 CGContext

Quartz2d (画线 矩形 圆 三角形 弧线 扇形 进度圈等)

</pre><pre code_snippet_id="1675698" snippet_file_name="blog_20160509_1_1489477" name="code" class="objc">/** Quartz2d的图形绘制API */ "[画线drawLine]" 1.获取上下文件UIGraphicsGetCurrentContext(); 2.设置起点CGC

IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等

转自:http://blog.csdn.net/zhibudefeng/article/details/8463268 [cpp] view plain copy // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. - (void)drawRect:(CGRect)rect { CGC

Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等

// Only override drawRect: if you perform custom drawing.// An empty implementation adversely affects performance during animation.- (void)drawRect:(CGRect)rect{    CGContextRef context = UIGraphicsGetCurrentContext();         /*NO.1画一条线     CGContex

Shell脚本编程初体验

Shell脚本编程初体验 分类 编程技术 通 常,当人们提到"shell脚本语言"时,浮现在他们脑海中是bash,ksh,sh或者其它相类似的linux/unix脚本语言.脚本语言是与计算机 交流的另外一种途径.使用图形化窗口界面(不管是windows还是linux都无所谓)用户可以移动鼠标并点击各种对象,比如按钮.列表.选框等等.但 这种方式在每次用户想要计算机/服务器完成相同任务时(比如说批量转换照片,或者下载新的电影.mp3等)却是十分不方便.要想让所有这些事情变得简单并 且自动

【阿里云产品公测】弹性伸缩服务ESS之试用初体验

T>>c2$ x 弹性伸缩服务ESS之试用初体验 作者:云郎 2014/10/15 阿里云弹性伸缩服务(Elastic Scaling Service)是根据用户的业务需求和策略,自动调整其弹性计算服务器(ECS)的管理服务.其能够在业务增长时自动增加ECS实例,并在业务下降时自动减少ECS实例. 收到ESS开始公测的邀请,马上怕不急待的申请了公测资格,开始体验传说中的ESS云服务了.因为笔者一直在全面的测试阿里云产品,在做压测过程中经常需要动态的调整ECS云主机的数量以确保能够给RDS提供合

Swift初体验 (一)

// 声明一个常量 let maxNumberOfStudents: Int = 47 // 声明一个变量,如果没有在声明的时候初始化,需要显示的标注其类型 var currentNumberOfStudents = 23 // 使用前必须初始化 currentNumberOfStudents += 1 // 浮点数据自动推断为Double类型,如果需要指定了Float类型,需要显示的指定Float类型 let score: Float = 90.5; let englishScore = 80

[stm32] 利用uc-gui封装画图和画线函数移植51上的模拟动画

>_<:这里的动画是黄色矩形区域中一个模仿俯视图的起重机运作动画,一个是模仿主视图的吊钩的运动.通过改变初始Init函数中的数据b_x,b_y实现矩形区域的移动.当实时采集时要首先根据起重机的实际情况改变比例,当传感器传来数据时就相当于这里的run函数,只要把传感器数据接收函数和相关函数结合即可. >_<:main code: 1 #include "stdlib.h" 2 #include "GUI.H" 3 /* 4 颜色 5 */ 6