iOS 画布:画线条
来源:互联网 发布:数据库crow s foot图 编辑:程序博客网 时间:2024/05/19 00:36
方法一:
//方法一-(void)DrawLineInImageView{ UIImageView *imageView1 = [[UIImageView alloc]initWithFrame:CGRectMake(0, 100, 320, 100)]; [self.view addSubview:imageView1]; [imageView1 setBackgroundColor:[[UIColor grayColor] colorWithAlphaComponent:0.2]]; UIGraphicsBeginImageContext(imageView1.frame.size); //开始画线 float lengths[] = {10,5}; CGContextRef line = UIGraphicsGetCurrentContext(); CGContextSetStrokeColorWithColor(line, [UIColor redColor].CGColor); CGContextSetLineDash(line, 0, lengths, 2); //画虚线 CGContextMoveToPoint(line, 10.0, 20.0); //开始画线 起点 //CGContextMoveToPoint:原点移动到这个点 CGContextAddLineToPoint 上个点移动到这个点 CGContextAddLineToPoint(line, 310.0, 20.0); // 上个点连线到下一个点 CGContextAddLineToPoint(line, 310.0, 80.0); //上个点连线到下一个点 CGContextAddLineToPoint(line, 10.0, 80.0); //上个点连线到下一个点 CGContextAddLineToPoint(line, 10.0, 20.0); // 上个点连线到下一个点 CGContextStrokePath(line); imageView1.image = UIGraphicsGetImageFromCurrentImageContext();}
方法二:
创建一个UIView 做画布
.h
//// draw.h// ImageEditViewDemo//// Created by linpeng on 14-3-2.// Copyright (c) 2014年 linpeng. All rights reserved.//#import <UIKit/UIKit.h>@interface draw : UIView- (id)initWithFrame:(CGRect)frame;@end.m
//// draw.m// ImageEditViewDemo//// Created by linpeng on 14-3-2.// Copyright (c) 2014年 linpeng. All rights reserved.//#import "draw.h"@implementation draw- (id)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { [self drawRect:frame]; } return self;}- (void)drawRect:(CGRect)rect{ CGContextRef context =UIGraphicsGetCurrentContext(); CGContextBeginPath(context); CGContextSetLineWidth(context, 2.0); CGContextSetStrokeColorWithColor(context, [UIColor whiteColor].CGColor); float lengths[] = {10,10};//lengths的值{10,10}表示先绘制10个点,再跳过10个点, CGContextSetLineDash(context, 0, lengths,2); //CGContextMoveToPoint:原点移动到这个点 CGContextAddLineToPoint 上个点移动到这个点 CGContextMoveToPoint(context, 10.0, 20.0); CGContextAddLineToPoint(context, 200.0,20.0); CGContextAddLineToPoint(context, 200.0, 80.0); CGContextAddLineToPoint(context, 10.0,20.0); CGContextStrokePath(context); CGContextClosePath(context);}/*// Only override drawRect: if you perform custom drawing.// An empty implementation adversely affects performance during animation.- (void)drawRect:(CGRect)rect{ // Drawing code}*/@end
用法:
//// ViewController.m// ImageEditViewDemo//// Created by linpeng on 14-3-1.// Copyright (c) 2014年 linpeng. All rights reserved.//#import "ViewController.h"#import "draw.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad]; [self DrawLineInImageView]; //[self DrawLineInView]; }- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ }//方法一-(void)DrawLineInImageView{ UIImageView *imageView1 = [[UIImageView alloc]initWithFrame:CGRectMake(0, 100, 320, 100)]; [self.view addSubview:imageView1]; [imageView1 setBackgroundColor:[[UIColor grayColor] colorWithAlphaComponent:0.2]]; UIGraphicsBeginImageContext(imageView1.frame.size); //开始画线 float lengths[] = {10,5}; CGContextRef line = UIGraphicsGetCurrentContext(); CGContextSetStrokeColorWithColor(line, [UIColor redColor].CGColor); CGContextSetLineDash(line, 0, lengths, 2); //画虚线 CGContextMoveToPoint(line, 10.0, 20.0); //开始画线 起点 //CGContextMoveToPoint:原点移动到这个点 CGContextAddLineToPoint 上个点移动到这个点 CGContextAddLineToPoint(line, 310.0, 20.0); // 上个点连线到下一个点 CGContextAddLineToPoint(line, 310.0, 80.0); //上个点连线到下一个点 CGContextAddLineToPoint(line, 10.0, 80.0); //上个点连线到下一个点 CGContextAddLineToPoint(line, 10.0, 20.0); // 上个点连线到下一个点 CGContextStrokePath(line); imageView1.image = UIGraphicsGetImageFromCurrentImageContext();}//方法二-(void)DrawLineInView{ draw *v = [[draw alloc] initWithFrame:CGRectMake(10, 40, 300, 400)]; [self.view addSubview:v]; }@end
0 0
- iOS 画布:画线条
- html 5 画布,画线条,画圆
- IOS画线条
- ios画线
- IOS 画线
- iOS 画线
- IOS 画线
- iOS 画线
- iOS 画线
- iOS画线
- iOS画线
- 画线 ios
- Qt画线条
- Word画线条
- android 中画线条
- canvas 画线条
- Qt画线条
- kmp--剪画布条
- kinect for windows - DepthBasics-D2D详解之一
- 使用mediainfo库取得媒体文件的tag
- ExtJs开发工具 sencha破解方法
- 队列
- mysql正则匹配介绍
- iOS 画布:画线条
- 六款常用的linux C/C++ IDE
- frame,iframe,frameset的用法和区别
- Source Insight的一点小技巧
- 数据通信与网络六——数据链路层控制
- 移动开发者必须了解的10大跨平台工具
- 根据包名获取应用程序基本信息
- 一款非常漂亮的bootstrap表单checkbox/radio样式推荐
- ubuntu创建用户命令