
iOS Quartz2D 图形绘制
文章平均质量分 58
iOS鸽子
iOS 没有那么多时间去思考,我怎么如此平凡
展开
-
iOS Quartz2D 图形绘制系列博客索引
学了这些文章你能做什么,平时的开发中产品让你做个圈圈、方块、加个水印、搞个画板,都能行一 iOS之 基本图形绘制二 iOS之 模仿下载进度一画圆圈三 iOS之 画饼图四 iOS之 画柱状图五 iOS之 绘制文字和图片六 iOS之 定时器(飘雪花效果)七 iOS之 矩阵操作(图形 上下文的平移、缩放、旋转)八 iOS之 图片加水印九 iOS之 图片剪裁十 iOS之 截屏十一 iOS之 图片截取十二 iOS之 图片擦除十三 iOS之 手势解锁十四 iOS 之画板十五 iOS 之酷原创 2020-12-18 17:17:05 · 168 阅读 · 1 评论 -
一 iOS之 基本图形绘制
开发中有时候会遇到需要自己绘制一些图形的情况,接下来的几篇博客就教教大伙做一些基本的绘制,依然是注释加代码形式,多学点有备无患自定义一个UIView - LineView, 在 .m文件中效果图 /** 绘图步骤: 1、获取上下文 2、创建路径 3、把路径添加到上下文 4、渲染上下文 // 为什么要再drawRect里面绘图,只有在这个方法里面才能获取到跟View的layer相关联的原创 2017-07-05 17:06:15 · 492 阅读 · 0 评论 -
二 iOS之 模仿下载进度—画圆圈
效果图先在storyboard上拖入一个view,一个label,一个滑块新添加一个UIView - ProgressView, 在.h文件中写入属性//滑块的进度 @property(nonatomic,assign)CGFloat progress;在.m文件中//set方法,重新赋值-(void)setProgress:(CGFloat)progress{ _progress =原创 2017-07-05 17:27:44 · 451 阅读 · 0 评论 -
三 iOS之 画饼图
这次绘制一个可随机变换的饼图新建一个UIView — PieView在 PieView.m 写入//做一个随机数组-(NSArray*)arrRandom{ //数组中所有数的总和为100 int totoal = 100; NSMutableArray * arrM = [NSMutableArray array]; int temp = 0; //设置循环原创 2017-07-08 11:50:53 · 467 阅读 · 0 评论 -
四 iOS之 画柱状图
绘制一个随机柱状图,点击图片可以变换新建一个UIView — BarViewBarView.m#import "BarView.h"@implementation BarView- (void)drawRect:(CGRect)rect { NSArray * arr = [self arrRandom]; CGFloat x = 0; CGFloat y = 0; C原创 2017-07-17 11:43:12 · 577 阅读 · 0 评论 -
五 iOS之 绘制文字和图片
介绍下绘制文字、绘制图片以及裁剪图片文字图片平铺的图片裁剪的图片图片的绘制新建一个UIView,对应代码写在drawRect:方法中- (void)drawRect:(CGRect)rect { //超出裁剪区的内容会全部裁剪掉 //注意:裁剪必须放在绘制之前(这行代码注释掉就不会裁剪了)// UIRectClip(CGRectMake(20, 20, 100, 100));原创 2017-07-24 16:23:31 · 1864 阅读 · 0 评论 -
六 iOS之 定时器(飘雪花效果)
简单介绍一下定时器CADisplayLink的使用,做一个飘雪花的效果创建一个UIView “XueHua”XueHua.m#import "XueHua.h"static CGFloat _snowY = 0;@implementation XueHua-(void)awakeFromNib{ [super awakeFromNib]; //CADisplayLink :调度原创 2017-07-25 11:44:23 · 399 阅读 · 0 评论 -
七 iOS之 矩阵操作(图形上下文的平移、缩放、旋转)
图形上下文的位置、角度等也是可以变化的创建一个UIView,“customView”customView.m#import "customView.h"@implementation customView- (void)drawRect:(CGRect)rect { // Drawing code //1、获取上下文 CGContextRef ctx = UIGraphic原创 2017-07-31 10:57:28 · 430 阅读 · 0 评论 -
八 iOS之 图片加水印
在一些app中常见到加水印的图片,为了防止别人盗图,下面看看怎么加上去的水印如下图,在图片上绘制文字 新增一个UIImageView– “imageVCustom”ViewController.m#import "ViewController.h"@interface ViewController ()@property (weak, nonatomic) IBOutlet UIImageV原创 2017-08-01 16:04:19 · 478 阅读 · 0 评论 -
九 iOS之 图片剪裁
介绍图片剪裁,以剪裁圆形为例普通剪裁带圆环的图片拖入一个UIImageView,取名“imageView”到view中裁剪出一个普通圆形图片//0 加载图片 UIImage * image = [UIImage imageNamed:@"阿狸"]; //1 开启位图上下文,跟图片尺寸一样大 UIGraphicsBeginImageContextWithOptions(im原创 2017-08-03 10:47:01 · 342 阅读 · 0 评论 -
十 iOS之 截屏
有的app中会需要有一个截屏的小功能,下面看看代码怎么写给UIImage添加一个类目,写一个截屏的方法/** 控件截屏 @param view 传入的View @return 截屏图片 */+ (UIImage *)imageWithCaputureView:(UIView *)view{ // 开启位图上下文 UIGraphicsBeginImageContextWith原创 2017-08-09 16:00:18 · 441 阅读 · 0 评论 -
十一 iOS 图片截取
简单介绍截取图片完整图片截取后的图片 首先创建一个UIImageView,导入图片然后ViewController.m#import "ViewController.h"@interface ViewController ()@property(nonatomic,assign)CGPoint startP;/**截取的view*/@property(nonatomic,weak)UIView原创 2017-08-22 11:13:39 · 279 阅读 · 0 评论 -
十二 iOS之 图片擦除
如下图,大家可能玩过一些类似这样小游戏,这个人的外边的衣服可以擦掉,这就用到了绘图中图片擦除的技术,还有一些刮奖的功能,也是用到了这个技术,下面看看怎么实现的完整图片擦掉一部分的图片 以我这个项目为例,在项目中创建两个imageView,两个imageView要重合,分别导入一张图片,带完整图片的imageView要盖在另一个imageView上方要擦除的就是那张完整的图片,然后把新生成的图片显示原创 2017-08-24 17:09:48 · 2548 阅读 · 0 评论 -
十三 iOS之 手势解锁
现在好多app都有手势解锁的功能,这个功能要连线,所以和绘制是脱不开关系的,来看看怎么做示例图一 示例图二 创建一个UIView–BackView,用来绘制深黑色背景图BackView.m#import "BackView.h"@implementation BackView- (void)drawRect:(CGRect)rect { //绘制一个背景图 UIImage *原创 2017-08-30 14:51:52 · 557 阅读 · 0 评论 -
十四 iOS之 画板
这次介绍一个比较复杂一些的小demo,一个简洁的画板,主要知识点是利用贝塞尔曲线–UIBezierPath这个类去实现手动画线的操作,这个操作在很多app中电子签名这个功能中都曾用到。 先看看示例图,这个小画板有哪些工能1、基本的画线,可以写字,你可以滑动滑块控制画线的粗细,点击最下方颜色按钮改变画线的颜色 2、点击“撤销”,可以清除你上一步的操作,不断点击,可以不断撤销。如果点击“清屏”,就会清原创 2017-08-31 11:25:50 · 672 阅读 · 0 评论 -
十五 iOS之 酷炫弹幕
介绍下弹幕的制作,原理是利用定时器驱动不断重绘达到滚动弹幕的效果。这次的demo比较简单,之后还会更新博文,介绍更复杂更完善的demo,请持续关注。示例图 主要功能:点击屏幕就会从右侧飘出一条弹幕(目前是一张图片)我用的storyboard,先拖入一个UIImageView,设置一张图片,这个就是背景了。然后再拖入一个UIView,设置为透明色,尺寸和UIImageView相等,盖在UIImage原创 2017-09-04 15:53:28 · 639 阅读 · 0 评论 -
十六 iOS之 酷炫弹幕(二)
这次基于上一次的demo做更复杂点的功能,原理是 通过加载我自己准备的plist文件里的数据,生成一张张图文混排的图片,让它们从屏幕上飘过,就达到了弹幕效果效果图:每次点击屏幕就飘出一条弹幕一 主要添加了一个plist文件,和一个模型类 DGDanMuModelDGDanMuModel.h#import <UIKit/UIKit.h>//弹幕类型枚举, 0就是其他人,1就是自己typedef原创 2017-09-12 15:52:38 · 477 阅读 · 0 评论