博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发UI篇—Quartz2D使用(图片剪切)
阅读量:5986 次
发布时间:2019-06-20

本文共 1199 字,大约阅读时间需要 3 分钟。

一、使用Quartz2D完成图片剪切

1.把图片显示在自定义的view中

先把图片绘制到view上。按照原始大小,把图片绘制到一个点上。

代码:

1 - (void)drawRect:(CGRect)rect2 {3 UIImage *image2=[UIImage imageNamed:@"me"];4 [image2 drawAtPoint:CGPointMake(100, 100)];5 }

显示:

2.剪切图片让图片圆形展示

思路:先画一个圆,让图片显示在圆的内部,超出的部分不显示。

注意:显示的范围只限于指定的剪切范围,无论往上下文中绘制什么东西,只要超出了这个范围的都不会显示。

代码:

复制代码
1 - (void)drawRect:(CGRect)rect 2 { 3 //画圆,以便以后指定可以显示图片的范围 4 //获取图形上下文  5 CGContextRef ctx=UIGraphicsGetCurrentContext(); 6 CGContextAddEllipseInRect(ctx, CGRectMake(100, 100, 50, 50)); 7  8 //指定上下文中可以显示内容的范围就是圆的范围  9  CGContextClip(ctx);10 UIImage *image2=[UIImage imageNamed:@"me"];11 [image2 drawAtPoint:CGPointMake(100, 100)];12 }
复制代码

显示:

3.剪切图片让图片三角形展示

代码:

复制代码
1 - (void)drawRect:(CGRect)rect 2 { 3  4 //画三角形,以便以后指定可以显示图片的范围 5 //获取图形上下文  6 CGContextRef ctx=UIGraphicsGetCurrentContext(); 7 // CGContextAddEllipseInRect(ctx, CGRectMake(100, 100, 50, 50));  8 CGContextMoveToPoint(ctx, 100, 100); 9 CGContextAddLineToPoint(ctx, 60, 150);10 CGContextAddLineToPoint(ctx, 140, 150);11  CGContextClosePath(ctx);12 13 14 //注意:指定范围(也就是指定剪切的方法一定要在绘制范围之前进行调用)15 //指定上下文中可以显示内容的范围就是圆的范围 16  CGContextClip(ctx);17 UIImage *image2=[UIImage imageNamed:@"me"];18 [image2 drawAtPoint:CGPointMake(100, 100)];19 }
复制代码

显示:

转载地址:http://vsflx.baihongyu.com/

你可能感兴趣的文章
遍历win10文件夹并解析json文件,按照json格式存入mongo数据库(基于python 3.6)
查看>>
LitDB笔记
查看>>
为什么Java文档中的java.time.DayOfWeek的常量显示是从 FRIDAY开始?
查看>>
注册两次密码的验证
查看>>
第十三章、学习 Shell Scripts 循环 (loop)
查看>>
第六周编程总结--助教
查看>>
gradle.properties使用
查看>>
Django中使用表单
查看>>
第二次作业
查看>>
hive查询语法
查看>>
[letcode] 832 Flipping an Image
查看>>
Shell脚本
查看>>
tsar采集数据原理
查看>>
ACM HDU 1091
查看>>
Cogs 309. [USACO 3.2] 香甜的黄油 dijkstra,堆,最短路,floyd
查看>>
子窗口调用父窗口
查看>>
Ubuntu14.04 Server amd64 配置 Apache+MySQL+Django
查看>>
更新和博客搬家通知
查看>>
c语言指针
查看>>
git多账户使用
查看>>