(一)内主要就是讲了线条的绘制以及绘制状态的保存与恢复

本次就讲一些图形的画法

2 图形的绘制

  2.1  三角形的绘制 :(就是绘制三条线)

- (void)drawRect:(CGRect)rect {

//获取绘制上下文

CGContextRef    ctx =UIGraphicsGetCurrentContext();

//设置连接处的圆角

CGContextSetLineJoin(ctx, kCGLineJoinRound);

//设置颜色以及线条粗细

[[UIColor yellowColor] set];

CGContextSetLineWidth(ctx, 20);

//移动起始点

CGContextMoveToPoint(ctx, 50, 50);

//三条先的绘制

CGContextAddLineToPoint(ctx, 150, 150);

CGContextAddLineToPoint(ctx, 50, 200);

CGContextAddLineToPoint(ctx, 50, 50);

//绘制

CGContextStrokePath(ctx)}

  2.2   长方形的绘制

  TIP:这里设置线条的宽度 ,不会影响坐标,线宽会按照绘制的线条想上下或者左右进行绘制

- (void)drawRect:(CGRect)rect {

//获取绘制上下文

CGContextRef    ctx =UIGraphicsGetCurrentContext();

//设置连接处的圆角

CGContextSetLineJoin(ctx, kCGLineJoinRound);

//设置颜色以及线条粗细

CGContextSetLineWidth(ctx, 20);

[[UIColor yellowColor] set];

//直接调用添加矩形方法

CGContextAddRect(ctx, CGRectMake(0, 0, 300, 250));

//使用下面这个方法创建一个实心的矩形

CGContextFillRect(ctx, CGRectMake(0,260, 300, 100));

//绘制---使用填充方法之后  可以不使用渲染方法

CGContextStrokePath(ctx);

}

实心矩形

  

  2.3 绘制一个圆形

  

- (void)drawRect:(CGRect)rect {

//获取绘制上下文

CGContextRef    ctx =UIGraphicsGetCurrentContext();

//设置连接处的圆角

CGContextSetLineJoin(ctx, kCGLineJoinRound);

//设置颜色以及线条粗细

CGContextSetLineWidth(ctx, 20);

[[UIColor yellowColor] set];

//使用下面方法绘制一个空心圆 一个PI只能绘制半圆 --  弧形也可以通过这种方式来绘制

CGContextAddArc(ctx, 100, 100, 50, 0, M_PI*2, 0 );

//使用下面方法来绘制一个实心的圆或者椭圆

CGContextFillEllipseInRect(ctx, CGRectMake(100, 100, 100, 50));

//绘制---使用填充方法之后  可以不使用渲染方法

CGContextStrokePath(ctx);

}

  2.4 绘制扇形

  

- (void)drawRect:(CGRect)rect {

//获取绘制上下文

CGContextRef    ctx =UIGraphicsGetCurrentContext();

//设置颜色以及线条粗细

CGContextSetLineWidth(ctx, 20);

[[UIColor yellowColor] set];

//使用下面方法绘制一个空心圆 一个PI只能绘制半圆

CGContextAddArc(ctx, 100, 100, 50, 0, M_PI, 0 );

//使用下面方法来绘制一个封闭的扇形

CGContextClosePath(ctx);

//使用下面方法填充扇形

CGContextSetRGBFillColor(ctx, 255, 0, 0, 1);

//使用下面方法来封闭上面的扇形

CGContextFillPath(ctx);

//绘制---使用填充方法之后  可以不使用渲染方法

CGContextStrokePath(ctx);

}

 2.5 填充一个四分之一圆

- (void)drawRect:(CGRect)rect {

//获取绘制上下文

CGContextRef    ctx =UIGraphicsGetCurrentContext();

//设置颜色以及线条粗细

CGContextSetLineWidth(ctx, 20);

[[UIColor yellowColor] set];

//移动到初始点

CGContextMoveToPoint(ctx, 100, 200);

//添加线条

CGContextAddLineToPoint(ctx, 200, 200);

//添加线条

CGContextAddLineToPoint(ctx, 200, 300);

//添加圆弧

CGContextAddArc(ctx, 200, 200, 100, M_PI / 2, M_PI, 0);

//填充

CGContextFillPath(ctx);

}

记录一次Quartz2D学习(二)的更多相关文章

  1. 记录一次Quartz2D学习(六)

    (五)内主要讲到了一些图层操作 本次主要讲 图片的裁剪 6图片裁剪 6.1 图片裁剪 TIP: 可能会影响统一图层的显示 - (void)drawRect:(CGRect)rect { CGConte ...

  2. 记录一次Quartz2D学习(三)

    在(二)内,讲到了几何图形的绘制,这次就讲文本与图片的绘制 3 图片与文本 3.1 文本绘制 - (void)drawRect:(CGRect)rect { NSString * str = @&qu ...

  3. 记录一次Quartz2D学习(一)

    经常看点 drawRect的重写  但是不知道这究竟是神马 今天开始学习这一块的东西,更确切地说是深入 早在view的时候 就经常会调用layer的maskToBounds属性,其实 重写 drawR ...

  4. 记录一次Quartz2D学习(七)

    (六)内主要讲述了图片的裁剪 本次主要讲交互 7.交互 7.1  通过外部刷新内部的显示效果 初始化的时候设定好初始值,调用setNeedsDisplay方法来重新绘制 - (instancetype ...

  5. 记录一次Quartz2D学习(五)

    (四)内主要讲了绘制状态的保存与恢复 本次主要讲述 缩放,旋转,平移等操作 5.附加操作 5.1 旋转 TIP: 旋转操作主要是对本次渲染的图层进行旋转,旋转的中心为左上角顶点 - (void)dra ...

  6. 记录一次Quartz2D学习(四)

    (三)内主要讲了图片与文字的绘制 本次主要讲解 绘制状态的保存与恢复,以及对它的使用 4.绘制状态 4.1 绘制状态的保存与恢复,以及对它的应用 TIP:通过对保存恢复绘制状以及多次的渲染,可以绘制出 ...

  7. emberjs学习二(ember-data和localstorage_adapter)

    emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...

  8. iOS学习——Quartz2D学习之UIKit绘制

    iOS学习——Quartz2D学习之UIKit绘制 1.总述 在IOS中绘图技术主要包括:UIKit.Quartz 2D.Core Animation和OpenGL ES.其中Core Animati ...

  9. iOS学习——Quartz2D学习之DrawRect

    Quartz2D学习之DrawRect 本文以问答形式主要讲述Quartz2D的相关内容,参考内容是网上下载的学习视频资料. 1.什么是Quartz2D? 他是一个二维的绘图引擎,同时支持iOS和Ma ...

随机推荐

  1. ABP框架 - 依赖注入

    文档目录 本节内容: 什么是依赖注入 传统方式的问题 解决方案 构造器注入模式 属性注入模式 依赖注入框架 ABP 依赖注入基础 注册依赖 约定注入 辅助接口 自定义/直接 注册 使用IocManag ...

  2. PHP日志压缩下载

    主要实现了在后台查看日志列表及打包下载功能. 由于用到了PHP压缩功能,特此记录下. 压缩下载类: Hzip.php <?php /** * Created by PhpStorm. * @au ...

  3. 学习笔记之(console)

    今天小颖在逛博客园时,发现一位帅锅写的有意思的Console小颖看了后,就自己敲了一遍嘻嘻,为了方便以后查看,小颖把它记录下来嘻嘻,有兴趣的小伙伴也可以自己试试哦. 格式占位符 作用 %s 字符串 % ...

  4. 3. 解析 struts.xml 文件

    1. struts.xml 文件基本配置: 主要放在资源路径下,配置 sturts2相关的 Action , 拦截器等配置 <struts> <!-- 设置常量 --> < ...

  5. 查看当前数据库正在运行的Session

    当数据库运行比较缓慢时,我们需要实时查看当前有什么Session在运行,获得信息越完整,对于分析低性能的原因越有帮助.根据之前调优的经历,简单几步分析如下: 1.通过SQL Server内置的Sp_w ...

  6. 时间复杂度分别为 O(n)和 O(1)的删除单链表结点的方法

    有一个单链表,提供了头指针和一个结点指针,设计一个函数,在 O(1)时间内删除该结点指针指向的结点. 众所周知,链表无法随机存储,只能从头到尾去遍历整个链表,遇到目标节点之后删除之,这是最常规的思路和 ...

  7. linux mount/umount挂载命令解析。

    如果想在运行的Linux下访问其它文件系统中的资源的话,就要用mount命令来实现. 2.      mount的基本用法是?格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有: ...

  8. php后台编辑关联数据

    数据库中两张表: info表中"民族"关联了nation表中的"code". php通过后台编辑info表中民族显示成用户可看懂及可直接修改的选项. 新建xin ...

  9. js获取屏幕宽高

    最近想自己实现一个全屏滚动. 结果一开始就遇到了问题.因为不知道如何获取一个页面屏幕的高度. 网上所有的博客都是复制粘贴. 网页可见区域宽:document.body.clientWidth 网页可见 ...

  10. 你真的会玩SQL吗?Case也疯狂

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...