作者Elfiend (小孩)
看板MacDev
标题[问题] 图片裁切功能
时间Thu Jun 13 14:46:38 2013
iOS的相簿裁切功能,在选取范围时,
选取的范围是亮的,被裁掉的部分是暗的。
想请问这个功能是怎麽做的?
参阅此范例:
http://i-software-developers.com/?s=crop
可以做出要裁切部分是暗的,其他地方是亮的。(选取范围view的alpha设为0.7)
需要做什麽样的修改,可以最简单反转选取的地方是亮的?
个人想法:
1. 上下左右增加view为不透明,裁切view设为透明。
移动时,一起调整全部view的大小与位置
(有其他更方便的方法吗?)
2. 增加一个完全盖住图片的view为不透明,裁切view为透明。
想办法让背景view可以设某个rect为透明。
(不晓得怎麽设特定区域的alpha)
--
目前目标:
选取一张图片,
可将该图片旋转,
可裁切特定比例的范围,
此范围可以放大缩小。
未完成项目:
选取范围为亮,其他为暗。(目前选取范围为半透明灰色,其他为亮)
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.251.136.103
1F:→ charlesdc:Layer的层级有一个setMask的功能 搭配透明图片应该可以 06/13 15:07
刚参考google後,做了下列处理。
1. 增加一个View,大小等同ImageView,背景设为灰色,alpha=0.5。
2. 增加下列code,使用layer setMask
CALayer *mask =[CALayer layer];
mask.contents = (id)[UIImage imageNamed:@"透明背景"].CGImage;
mask.frame = CGRectMake(top, left, width, height);
[BackGroundView.layer setMask:mask];
得到的结果是View在指定区域有图片,其他地方是透明的,设定的灰色背景失去作用。
我需要再做什麽处理才能把灰色的半透明背景保留下来?
还是我使用这个layer的想法错了?
※ 编辑: Elfiend 来自: 60.251.136.103 (06/13 16:35)