
iOS-绘图
皆为序幕
这个作者很懒,什么都没留下…
展开
-
iOS 画线(曲线、虚线、直线)
什么是Quartz2DQuartz2D是一个二维绘图引擎,同时支持iOS和Mac系统Quartz2D能做什么 绘制图形:线条、三角形、矩形、圆、弧等绘制文字绘制、生成图片(图像)读取、生成PDF截图、剪裁图片自定义UI控件什么是图形上下文(Graphics Context)可以理解为就是一个画板。其结构是一个CGCOntextRef类型的数据结构作用:保存绘图信息、绘图状态,决原创 2017-06-09 21:38:46 · 15057 阅读 · 0 评论 -
iOS 环形进度条
1、首先先将自定义的View和进度条的值关联起来- (IBAction)progressChange:(UISlider *)sender { self.valueLabel.text = [NSString stringWithFormat:@"%.2f%%",sender.value * 100]; self.progressView.progress = sender.value;原创 2017-06-11 06:54:29 · 901 阅读 · 0 评论 -
iOS 绘制文字和图片
绘制文字- (void)drawRect:(CGRect)rect{ //不会换行 [self drawTextAttribute]; //会换行 [self drawTextAttributeWithRect:rect];}-(void)drawTextAttributeWithRect:(CGRect)rect{ NSString *text = @"hell原创 2017-06-11 11:18:06 · 689 阅读 · 0 评论 -
iOS 屏幕截取
- (void)viewDidLoad { [super viewDidLoad]; self.title = @"draw ScreenClip"; //UIImage转换为NSData NSData *imageData = UIImagePNGRepresentation([self imageWithCaputureView:self.view]);原创 2017-06-12 21:22:15 · 293 阅读 · 0 评论 -
iOS 图形上下文的矩阵操作(平移、旋转、缩放)
- (void)drawRect:(CGRect)rect{ //获取上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); //描述路径 UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 200, 100)];原创 2017-06-12 11:25:40 · 1333 阅读 · 0 评论 -
iOS 图片水印
水印:在图片上加上半透明的logo、文字、图标实现:在其原生的图片基础上绘制一些文字或者logo,最终生成一张新的图片一般我们绘制View相关联的上下文都是在drawRect中,因为系统已经在drawRect中创建好了上下文,我们直接获取就好(CGContextRef ctx = UIGraphicsGetCurrentContext();)当我们在图片的基础上绘制时,需要自己创建上下文(位图上原创 2017-06-12 09:38:20 · 796 阅读 · 0 评论 -
iOS CADisplayLink(绘制动画)
CADisplayLink是什么CADisplayLink与屏幕刷新频率同步的,适合做UI的不停重绘,动画或视频的渲染等。CADisplayLink创建@interface DrawView:UIView@end@implementation DrawView-(void)awakeFromNib{ //先创建一个CADisplayLink对象 CADisplayLink *l原创 2017-06-11 17:33:34 · 1591 阅读 · 0 评论 -
iOS 柱状图
柱状图其实就是画矩形,比如我们需要实现下面这个效果 画图思路: 1、根据数据源的个数来判断需要画多少个矩形(比如:25,15,30,10,20,需要画5个矩形) 2、画在柱状图我们只需要确定每一个柱状图的(x,y,width,height) 3、因为每个柱状图的宽是相同的,width =ViewWidth / (2 *array.count - 1) 4、根据宽度可以知道每个柱状原创 2017-06-11 09:13:50 · 1253 阅读 · 0 评论 -
iOS 画饼状图
画饼状图其实就是画扇形,比如我们需要实现下面这个效果 画图思路: 1、根据数据源的个数来判断需要画多少个扇形(比如:25,15,30,10,20,说明我们要画5个扇形) 2、根据数据源判断每组数据占一个圆的多少(比如,startA:0,angle:25/100.0 *M_PI *2,endA:startA+angle) 3、下一个扇形的大小起点就是上一个扇形的结束点(比如,startA:en原创 2017-06-11 08:04:47 · 609 阅读 · 0 评论 -
iOS 图片裁剪(用户头像裁剪)
图片裁剪——->先设置裁剪区域把图片画上去超出裁剪区域的自动裁剪掉-(UIImage *)imageWithClipImage:(UIImage *)image withBorderWidth:(CGFloat)border withBorderColor:(UIColor *)color{ //设置圆环的宽度 CGFloat backImageWH = image.size.原创 2017-06-12 20:15:03 · 1178 阅读 · 0 评论 -
iOS 图片截取
关于图片截取效果 1、 2、 3、 思路: 1、获取手指触屏的一个点 2、随着手指触屏的移动矩形大小随之变化 3、手指离开的时候绘制图片 4、创建当前矩形的上下文 5、确定裁剪范围 6、获取图片 7、关闭上下文代码:@interface DrawPictureVC ()@property (weak, nonatomic) IBOutlet UIView *backV原创 2017-06-13 11:15:15 · 811 阅读 · 0 评论 -
iOS 图片擦除
图片擦除: 其实是俩张图片完全叠加,将第一张图片的进行透明清除,显露出下面的图片,其实现效果: @interface DrawPictureClearVC ()@property (weak, nonatomic) IBOutlet UIView *backView;@property (weak, nonatomic) IBOutlet UIImageView *imageView;@e原创 2017-06-13 14:53:47 · 1103 阅读 · 0 评论 -
iOS 手势解锁密码
很多app种用到了手势解锁密码 代码:原创 2017-06-13 23:27:09 · 432 阅读 · 0 评论 -
iOS 画图(矩形、圆、椭圆、弧度、扇形。。。)
矩形 //cornerRadius:圆角半径(绘制矩形的左上角开始,也就是0,5) UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(10, 10, 50, 50) cornerRadius:5]; [path stroke];圆//cornerRadius:圆角半径,如果圆角半径等于正方形长或宽的一半原创 2017-06-10 10:39:59 · 10191 阅读 · 0 评论