Quartz2D初体验(二)

下面代码实现画圆、画弧、画扇形

//画圆

- (void)drawCircle{

//获取上下文

CGContextRef context = UIGraphicsGetCurrentContext();

//画圆

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

//渲染

CGContextStrokePath(context);

}

//画弧

- (void)drawArc{

//获取上下文

CGContextRef context = UIGraphicsGetCurrentContext();

/*

* x , y 圆心

*radius 半径

*startangle 弧起点

*clockwise 0 顺时针 1 :逆时针

*/

CGContextAddArc(context, 100, 100, 41, 0, M_PI_2, 1);

//渲染

//CGContextStrokePath(context);

CGContextFillPath(context);

}

//画扇形

- (void)drawSector{

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextMoveToPoint(context, 100, 100);

CGContextAddArc(context, 100, 100, 60, -M_PI_4, -3 * M_PI_4, 1);

//封闭

CGContextClosePath(context);

CGContextStrokePath(context);

}

、、、、、、、、、、、、、、、、、、、、、、

画文字 和图片

不同于之前画圆之类

实现代码如下

- (void)drawRect:(CGRect)rect {

// Drawing code

CGFloat w = rect.size.width;

CGFloat h = rect.size.height;

//画图片

UIImage *image = [UIImage imageNamed:@"papa"];

//    [image drawAtPoint:CGPointZero];

//    [image drawInRect:CGRectMake(0, 0, 50, 50)];

//平铺

[image drawAsPatternInRect:CGRectMake(0, 0, 180 , 180)];

//画文字

NSString *text = @"jhghjhfjhfkgbjhbnmbhhjtyfvhhdcbsxfsx这个交互是由两个View组成,左侧导航的View在下面,显示内容列表的View在上面,内容列表的View覆盖住了导航View,拖动内容列表的View向右,这时候导航View就显示出来了。";

//    //这个方法不会换行

//    [text drawAtPoint:CGPointMake(10, 100) withAttributes:nil];

//设置字体样式

NSDictionary *attr = @{NSFontAttributeName:[UIFont systemFontOfSize:13],NSForegroundColorAttributeName:[UIColor yellowColor ]};

//指定宽度和高度

[text drawInRect:CGRectMake(0, 0, w, 0.5 * h) withAttributes:attr];

}

时间: 2025-01-04 06:53:46

Quartz2D初体验(二)的相关文章

Swift初体验(二)

// 函数写法初体验 func getMyName(firstName first:String, lastName last:String) -> String{ //return first + "-" + last return first + last } var myName = getMyName(firstName: "hu", lastName: "mingtao") println("myName = \(myN

Jquery初体验二

一.传统方式生成Table var peopleArr = [ { "name": "刘欢", "age": 50, "skill": "从头再来" }, { "name": "杨坤", "age": 35, "skill": "32唱演唱会" }, { "name": "那英&

Spring Cloud Alibaba 初体验(二) Nacos 服务注册与发现

一.服务注册 添加依赖: <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.2.0.RELEASE</version> <type>pom.sha256</type> </depend

Quartz2D初体验之画线、画矩形

首先创建了一个继承自UIView的LineView类,在storyboard中添加一个UIView,并把这个view的Custom Class属性设置为LineView 线的实现代码如下 - (void)drawRect:(CGRect)rect { // Drawing code //绘一条线 //获取上下文 上下文的输出目标就是self.view CGContextRef context = UIGraphicsGetCurrentContext(); //设置线的颜色 CGContextS

oracle初体验二

上期中创建完数据库实例,但是最后使用em访问数据库实例的时候出现了一个问题? Enterprise Manager 无法连接到数据库实例.下面列出了组件的状态. 回答上面的问题请看以下oracle的结构: 客户使用浏览器通过EM的1158端口访问EM,EM通过监听访问oracle数据库实例,上节中我们通过数据库配置助手(Database Configuraion Assistant)创建了数据库实例,但我们还没有创建监听.所以就出现了上节最后提出的问题.这节中我们将通过oracle网络配置助手(

jquery.fn.extend与jquery.extend--(初体验二)

1.jquery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jquery.fn.extend(object);给jQuery对象添加方法. $.extend({ add:function(a,b){return a+b;} }); //$.add(3,4); //return 7 jQuery添加一个为 add的“静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了. 2.jQuery.fn.extend(object); 对jQuery.pro

XenApp / XenDesktop 7.6 初体验二 配置计算机目录和交付组

前面我已经安装了XenDesktop/Xenapp 7.6, 并且配置了Site 和License. 接下来豆子打算配置 Machine Catalogs (计算机目录)和 Delivery Group (交付组). 首先,我先在一台作为模板的计算机上安装VDA,方法很简单,加载ISO 选择 Create a Master Image 选择 Delivery Controller的地址 默认选项 自动配置windows防火墙 开始安装 中途会重启一次 继续安装 Ok.装完了VDA,我们打开Stu

Java8初体验(二)Stream语法详解

原文链接:http://ifeve.com/stream/ 1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel aggregate operations. 我们来解读一下上面的那句话: Stream是元素的集合,这点让Stream看起来用些类似Iterator: 可以支持顺序和并行的对原Stream进行汇聚的操作: 大家可以把Stream当成一个高级版本的

bash编程初体验(二)

bash编程初体验(二) read if case 概述 在本篇文章中,我们将介绍bash编程中有关if语句的简单用法,.如此,如果条件为真,if会执行一种指令,如果条件为假,if会选择执行另一种指令,这种执行就是所谓的选择结构,它能够改变命令的基本顺序流结构,以选择流的形式运行. 在有关if语句的论述中,我们还将介绍read命令,因为read命令可以方便地引入一个或多个变量,可以天然地与if语句结合:另外,除了if语句,还有一种常见的选择语句:case语句,其简单易用,高效简洁,是时的不二选择