IOS绘图
#import "ViewController.h"
#import "DrawView.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
- (IBAction)doTouchButton:(id)sender;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
DrawView *view=[[DrawView alloc]initWithFrame:self.view.frame];
view.backgroundColor =[UIColor whiteColor];
// [self.view addSubview:view];//去掉注释后,显示绘图
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)doTouchButton:(id)sender {
//小鸡走五角星
CGMutablePathRef startPath=CGPathCreateMutable();//创建一个路径
CGPathMoveToPoint(startPath, NULL, 160, 100);
CGPathAddLineToPoint(startPath, NULL, 220, 280);
CGPathAddLineToPoint(startPath, NULL, 60, 170);
CGPathAddLineToPoint(startPath, NULL, 260, 170);
CGPathAddLineToPoint(startPath, NULL, 100, 280);
CGPathAddLineToPoint(startPath, NULL, 160, 100);
CAKeyframeAnimation *animation=[CAKeyframeAnimation animationWithKeyPath:@"position"];
animation.duration=5.0;//设置动画时间
[animation setPath:startPath];//设置路径
[_imageView.layer addAnimation:animation forKey:@"position"];
}
@end
/********************************************************/
//
// DrawView.h
// IOS绘图0817
//
// Created by 张艳锋 on 15/8/17.
// Copyright (c) 2015年 张艳锋. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface DrawView : UIView
@end
/********************************************************/
//
#import "DrawView.h"
@implementation DrawView
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
CGContextRef context=UIGraphicsGetCurrentContext();//绘制图形上下文
CGContextSetLineWidth(context, 2.0);//设直线条宽度
[[UIColor redColor]setStroke];//设置线条颜色
CGPoint point1=CGPointMake(160, 100);//上
CGPoint point2=CGPointMake(60, 170);//左
CGPoint point3=CGPointMake(260, 170);//右
CGPoint point4=CGPointMake(100, 280);//下左
CGPoint point5=CGPointMake(220, 280);//下右
CGContextMoveToPoint(context, point1.x, point1.y);
CGContextAddLineToPoint(context, point5.x, point5.y);
CGContextAddLineToPoint(context, point2.x, point2.y);
CGContextAddLineToPoint(context, point3.x, point3.y);
CGContextAddLineToPoint(context, point4.x, point4.y);
// CGContextAddLineToPoint(context, point1.x, point1.y);
CGContextClosePath(context);//闭合区域函数
// CGContextStrokePath(context);
[[UIColor orangeColor]setFill];//设置填充颜色
CGContextDrawPath(context, kCGPathFillStroke);//进行描绘函数
// kCGPathFill,//无边线,包围区域全部填充
// kCGPathEOFill,//无边线,包围区域重合部分不填充
// kCGPathStroke,//只显边线,不填充
// kCGPathFillStroke,//填充又显示边线
// kCGPathEOFillStroke//有边线包围区域重合部分不填充
//正方形
//CGContextAddRect矩形
//CGContextAddEllipseInRect椭圆 圆
CGContextSetRGBStrokeColor(context, 1, 0, 0, 1);//红色
CGContextSetLineWidth(context, 1.5);
CGContextAddRect(context, CGRectMake(100, 60, 80, 80));//正方形
CGContextAddRect(context, CGRectMake(200, 60, 100, 200));//矩形
CGContextAddEllipseInRect(context,CGRectMake(50, 100, 100, 60));//椭圆
CGContextAddEllipseInRect(context,CGRectMake(50, 200, 100, 100));//圆
CGContextStrokePath(context);
}

IOS绘图的更多相关文章
- 论文第4章:iOS绘图平台的实现
面向移动设备的矢量绘图平台设计与实现 Design and Implementation of Mobile Device-oriented Vector Drawing Platform 引用本论文 ...
- iOS绘图教程 (转,拷贝以记录)
本文是<Programming iOS5>中Drawing一章的翻译,考虑到主题完整性,在翻译过程中我加入了一些书中没有涉及到的内容.希望本文能够对你有所帮助. 转自:http://www ...
- iOS绘图教程
本文是<Programming iOS5>中Drawing一章的翻译,考虑到主题完整性,翻译版本中加入了一些书中未涉及到的内容.希望本文能够对你有所帮助.(本文由海水的味道翻译整理,转载请 ...
- iOS绘图框架CoreGraphics分析
由于CoreGraphics框架有太多的API,对于初次接触或者对该框架不是十分了解的人,在绘图时,对API的选择会感到有些迷茫,甚至会觉得iOS的图形绘制有些繁琐.因此,本文主要介绍一下iOS的绘图 ...
- iOS绘图系统UIKit与Core Graphics
概述 iOS主要的绘图系统有UIKit,Core Graphics,Core Animation,Core Image,Open GL等,本片博文主要介绍UIKit与Core Graphics的绘图系 ...
- IOS 绘图教程Quartz2D
http://www.cocoachina.com/industry/20140115/7703.html http://www.cnblogs.com/wendingding/p/3803020.h ...
- ios绘图时的坐标处理
在iOS中,进行绘图操作时,一般主要是在UIView:drawRect中调用 UIGraphicsBeginImageContextWithOptions等一系列函数,有时候直接画图就行,比如UIIm ...
- iOS绘图UIBezierPath 和 Core Graphics框架
前言 iOS系统本身提供了两套绘图的框架,即UIBezierPath 和 Core Graphics.而前者所属UIKit,其实是对Core Graphics框架关于path的进一步封装,所以使用起来 ...
- iOS绘图—— UIBezierPath 和 Core Graphics
前言 iOS系统本身提供了两套绘图的框架,即UIBezierPath 和 Core Graphics.而前者所属UIKit,其实是对Core Graphics框架关于path的进一步封装,所以使用起来 ...
随机推荐
- BIOS 深入学习 转
http://blog.csdn.net/lightseed/article/category/547391
- java中无符号类型的处理
在Java中,不存在Unsigned无符号数据类型,但可以轻而易举的完成Unsigned转换. 方案一:如果在Java中进行流(Stream)数据处理,可以用DataInputStream类对Stre ...
- 项目源码--JAVA基于LBS地理位置信息应用的服务端
技术要点: 1. LBS应用框架服务端实现 2. JAVA服务端技术 3. MYSQL数据库技术 4. 源码带详细的中文注释 ...... 详细介绍: 1. LBS应用框架服务端实现 此套源码是基 ...
- 转:关掉Archlinux中烦人的响铃
http://www.0597seo.com/?p=461 F**K,在Archlinux中,每当在听音乐,声音开得挺大的,忽然在控制台输错了命令,那可恶的该死的警告声猛的一下总是吓的我精神晃晃(这是 ...
- Nice是如何做iOS客户端架构的?
一个创业产品的iOS客户端架构到底怎么做呢?现下最有活力的图片社交软件Nice的技术负责人刘诗彬将为我们解答创业产品如何实现iOS客户端架构. 分享人:刘诗彬,毕业于北京邮电大学电子信息科学与技术专业 ...
- eclipse[downloads]
下载J2EE:http://www.eclipse.org/downloads/ 下载WPT插件:http://download.eclipse.org/webtools/updates 下载TOMC ...
- 【HTML5 4】《HTML5与CSS3权威指南》 step1 导读
一.教程重点:以 HTML5和CSS3的新功能和新特性 为导向,辅之以 实战型实例页面 二.内容概况: 第1部分:详细讲解HTML5相关知识,包括 各主流浏览器对HTML5的支持情况. HTML5与H ...
- 精通CSS高级Web标准解决方案(1-2 层叠与特殊性)
层叠与特殊性 选择器的特殊性分成四个等级,a.b.c . d 如果样式是行内样式,那么a=1 b=ID选择器的总数 c=类.伪类.属性选择器的总数 d=标签选择器与伪元素选择器数量 例如:style ...
- CF Set of Strings
Set of Strings time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- java多线程之Future和FutureTask
Executor框架使用Runnable 作为其基本的任务表示形式.Runnable是一种有局限性的抽象,然后可以写入日志,或者共享的数据结构,但是他不能返回一个值. 许多任务实际上都是存在延迟计算的 ...