ios 自由批注功能的实现 如何实现在view上自由绘图 bitmap Quartz 2D 缓存位图

本文介绍了两种实现自由批注功能的方法。第一种方法通过添加半透明子视图并尝试在其上绘制线条,但未达到理想效果。第二种方法将子视图背景设置为透明,成功实现在锁定视图上绘制不透明线条,且不影响原始视图的功能。
摘要由CSDN通过智能技术生成

功能介绍:锁定当前视图,并且能在视图上任意勾画线条(线条不透明),退出自由批注功能以后原视图可以正常操作(批注消失,恢复原视图)
       实现过程:
思路一:为当前视图添加一个subview调整视图的alpha值,让添加的子视图(子视图本身携带画图方法)是半透明的,这样可以实现类似直接在原视图上画线的效果。
结果:是可以实现类似的效果,但是你调整subview的alpha值在subview上绘制的线条的alpha值也同样呗改变,所以这样画出来的线条也是半透明的,没有实现预期的效果,而且所有在subview上添加的控件也是半透明的,思路行不通
SCStrokeView * view = (SCStrokeView*)self.view;
view.alpha = 0.2f;
思路二:把subview的backgroundColor设为clearColor,
结果:完美实现了所有的功能;
SCStrokeView * view = (SCStrokeView*)self.view;
view.backgroundColor = [UIColorclearColor];


关于自由批注的其他代码 参考我其他的帖子 需要源码请留言



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值