1. 获取Graphics Context

CGContextRef  ctx = UIGraphicsGetCurrentContext();

  

2. 最后的渲染接口

CGContextStrokePath(ctx);//渲染空心图形,但线条没有空心直说,只有宽度
CGContextFillPath(ctx);//渲染实心图形,如圆、矩形等。

3. 基本接口

3.1. 基本图形接口

3.1.1.  颜色设置
//第一种颜色设置
CGContextSetRGBStrokeColor(ctx, 1.0, 0.7, 0.3, 1.0); //第二种颜色设置
CGContextSetRGBFillColor(ctx, 1.0, 0.7, 0.3, 1.0); //第三种设置颜色的方式:同时设置空心颜色和实心颜色
[[UIColor grayColor] set] //第四种颜色设置 实心颜色
[[UIColor grayColor] setFill] //第五种颜色设置 空心颜色
[[UIColor grayColor] setStroke] //第六种颜色设置
[[UIColor colorWithRed:1.0 green: blue: alpha:1.0] set];
3.1.2.  直线
// 设置起点
CGContextMoveToPoint(ctx, , );
// 设置终点
CGContextAddLineToPoint(ctx, , ); //关闭起点和终点
CGContextClosePath(ctx);

  直线属性:

//设置线条的宽度
CGContextSetLineWidth(ctx, ); //设置线条起点和终点的样式为圆角
CGContextSetLineCap(ctx, kCGLineCapRound); //设置线条的转角的样式为圆角
CGContextSetLineJoin(ctx, kCGLineJoinRound);
3.1.3.  矩形
CGContextAddRect(ctx, CGRectMake(, , , ));
3.1.4.  圆
//圆
CGContextAddArc(ctx, , , , , * M_PI, ); //椭圆
CGContextAddEllipseInRect(ctx, CGRectMake(, , , ));
3.1.5.  圆弧

  第一种方式,跟画圆一样,只是弧度大小小于 2*M_PI, 一个M_PI是180度。

CGContextAddArc(CGContextRef  _Nullable c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, int clockwise)

//参数分别为:Graphics Context, 圆心X轴,圆心Y轴,半径,起始弧度,结束弧度,顺/逆时针

  空心绘制时需要封口。

3.1.6.  饼状图

  饼状图由两条线,和一个没有封口的圆弧组成。或者实现起来由一条线,一个圆弧,然后封口组成。注意的是,圆弧的圆心和线的起点是同一个点。

// 画线
CGContextMoveToPoint(ctx, , );
CGContextAddLineToPoint(ctx, , ); // 画圆弧
CGContextAddArc(ctx, , , , M_PI_2, M_PI, ); // 关闭路径
CGContextClosePath(ctx);

  M_PI对应的弧度是180度,这样,就可以根据比例来算初始位置和大小了。

Quartz2D 之 简单使用的更多相关文章

  1. QuartZ2D __ 简单用法 1

    一. 简单做一个画板 1. 建立一个UIView类 2. 在.m里建立一个延展 3. 分别定义一个起点, 一个终点的结构体属性 . 在建立一个存储路径的数组 @interface DrawView ( ...

  2. iOS-绘图(Quartz2D)的简单使用(原创)

    前言 附上绘图demo--https://github.com/yangfangxue/YFX_Quartz-2D 什么是Quartz2D? Quartz 2D是一个二维图形绘制引擎,支持ios环境和 ...

  3. Quartz2D 之 简单介绍

    1. 概述 Quartz2D 是一个二维绘图引擎. 主要功能: 绘制图形:线.矩形.圆.弧 绘制文字 绘制图片 绘制PDF 裁截图片 自定义UI控件 2. 图形上下文 Graphics Context ...

  4. 【iOS开发-80】Quartz2D画图简单介绍:直线/圆形/椭圆/方形以及上下文栈管理CGContextSaveGState/CGContextRestoreGState

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2Vpc3ViYW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  5. iOS Quartz2D画图

    对于刚接触Quartz2D的同学来说,先了解 上下文 的概念,再从最基础的画线来具体体验Quartz2D的画图步骤 介绍Quart2D :是苹果官方的二维(平面)绘图引擎,同时支持iOS和macOS系 ...

  6. iOS 之 Quartz2D

    1. Quartz2D 之 简单介绍 2. Quartz2D 之 简单使用 3. Quartz2D 之 绘制文本

  7. Quartz2D之绘制一个简单的机器猫

    学习iOS有一段时间了,在博客园也默默的潜水了两个月,见识了很多大神,收获不少. 今天整理笔记,发现忘记的不少,我感觉需要及时的整理一下了,同时也把做的小东西贴上来和大家分享一下. 最近学习了Quar ...

  8. iOS开发UI篇—Quartz2D简单介绍

    iOS开发UI篇—Quartz2D简单介绍 一.什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : 线条\三角形\ ...

  9. iOS开发UI篇—Quartz2D简单使用(一)

    iOS开发UI篇—Quartz2D简单使用(一) 一.画直线 代码: // // YYlineview.m // 03-画直线 // // Created by apple on 14-6-9. // ...

随机推荐

  1. ural1424 Minibus

    Minibus Time limit: 1.0 secondMemory limit: 64 MB Background Minibus driver Sergey A. Greedson has b ...

  2. int main(int argc,char *argv[])参数的应用

    #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/sta ...

  3. Button MouseEvent颜色变化

    public partial class Form1 : Form { public Form1() { InitializeComponent(); this.button1.Enter += bu ...

  4. 计算机学院大学生程序设计竞赛(2015’12) 1002 Polygon

    #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #inclu ...

  5. [poj解题]1017

    Packets Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 41014   Accepted: 13776 Descrip ...

  6. 使用Bootstrap建立网站微金所——头部

    1.微金所链接:http://www.weijinsuo.com/ 2.头部分为:topbar和nav上下两个部分 (1)topbar详解 topbar使用bootstrap的栅格系统 (2)nav分 ...

  7. Unity 之 c# 版的 CharacterMotor

    using System; using System.Collections; using UnityEngine; // This class just convert from Character ...

  8. LVS详解

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  9. springMVC源码下载地址

    https://github.com/spring-projects/spring-framework/tags可以选择需要的版本进行下载.

  10. corosync集群的选举算法

    <Cluster Concepts> http://linux-ha.org/wiki/Cluster_Concepts <Managing Computers with Autom ...