用户是否可以在他们希望裁剪的UIImageView
位周围绘制虚线(以圆圈形式),然后让UIImageView
调整大小到这些点?这有点像Photoshop中的套索/选框效果:
答案 0 :(得分:3)
更新:自iOS 8.x起,UIImageView提供maskView
属性。只需使用一些不透明像素准备图像,使用该蒙版图像创建另一个图像视图,并将此蒙版图像视图设置为maskView。掩模图像中的不透明像素将是底层图像中显示的像素。
UIImageView *maskView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"somemask"]];
maskView.frame = imageView.bounds;
imageView.maskView = maskView;
// imageView will be masked by maskView
原始答案
还有很多工作要做,但这里有一个高级大纲:
创建图像:这里一个简单的想法是只为您的项目发送黑色图像。它的大小应与用户可以选择的最大区域相匹配。将图像读入内存(UIImage imageNamed:
)并通过调用UIGraphicsBeginImageContext
将其设置为绘图上下文。
创建路径:(see apple docs)。当用户开始抚摸该区域时,请拨打CGContextBeginPath
,然后按照用户手势,对触摸进行抽样,并通过重复调用CGContextMoveToPoint
作为touchesMoved来添加小段。
创建遮罩:要将路径转换为遮罩,您需要黑色背景和填充白色的路径。如果你开始使用黑色图像,则只需要填充。请参阅相同的苹果指南。
最后,您将此蒙版应用于imageView的图像。 Here's a decent reference为此。
答案 1 :(得分:0)
这回答了我想问的问题的一部分,但这里有关于如何绘制和动画虚线的example(即行进蚂蚁效果)。