用户是否可以在他们希望裁剪到的 UIImageView
位周围画一条虚线(圆圈),然后为 UIImageView
调整到这些点?有点像 Photoshop 中的套索/选框效果:
更新:从 iOS 8.x 开始,UIImageView 提供了一个 maskView
属性。只需准备一个带有一些不透明像素的图像,使用该蒙版图像创建另一个 ImageView ,并将此蒙版 ImageView 设置为 maskView。 mask 图像中的不透明像素将是基础图像中显示的像素。
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 添加小片段。
创建蒙版:要将路径变成蒙版,您需要黑色背景和白色填充路径。如果您从黑色图像开始,您只需要进行填充。请参阅相同的苹果指南。
最后,您将把这个 mask 应用到 imageView 的图像上。 Here's a decent reference为此。
关于iphone - 如何将 UIImageView 裁剪为自定义形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13015676/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) | Powered by Discuz! X3.4 |