用户是否可以围绕想要裁切的UIImageView
的位绘制虚线(围成一圈),然后再将UIImageView
调整为这些点的大小?这是一个有点像Photoshop中的套索/选取框效果:如何将UIImageView裁切为自定义形状
回答
更新:由于iOS的8.x中的UIImageView提供maskView
属性。只需准备一些不透明像素的图像,使用该遮罩图像创建另一个图像视图,并将该遮罩图像视图设置为遮罩视图。蒙版图像中的不透明像素将显示在底层图像中。
UIImageView *maskView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"somemask"]];
maskView.frame = imageView.bounds;
imageView.maskView = maskView;
// imageView will be masked by maskView
。
原来的答案
有相当多的事,但这里有一个高层次的轮廓:
- 创建一个空的图像,这将成为一个面具
- 建立一个路径来自用户输入的图像
- 填充路径将其变成面具
- 将面罩应用到imageview的图像
创建图像:这里的一个简单的想法是将黑色图像与您的项目一起发送。它的大小应该与用户可以选择的最大区域相匹配。将图像读入内存(UIImage imageNamed:
),并通过调用UIGraphicsBeginImageContext
将其设置为绘图上下文。
创建路径:(see apple docs)。当用户开始抚摸区域时,请拨打CGContextBeginPath
,然后按照用户手势操作,对触摸进行采样并通过重复调用CGContextMoveToPoint
作为touchesMoved来添加小片段。
创建蒙版:要将路径转换为蒙版,您需要黑色背景和路径填充白色。如果你从黑色图像开始,你只需要做填充。请参阅相同的苹果指南。
最后,你将这个面具应用到你的imageView的图像。 Here's a decent reference。
嗨,先生,请帮助我我的项目脸形状图像作物尝试许多图书馆,但不完美的图像作物让我知道任何想法.. –
@RamaniHitesh - 答案是有点过时了。看看改进的技术是否有助于你。 – danh
好吧,先生,不要担心...任何想法,请建议我 –
这只回答你的问题的一部分,我想,但这里是一个example如何绘制和动画虚线(即行军蚂蚁效果)。
- 1. 将UIImageView切成自定义形状
- 2. 通过自定义形状裁剪UIImage
- 3. 用UIImageView掩盖自定义形状
- 4. 如何将我的Dia图形保存为自定义形状?
- 5. 如何在不同形状中裁剪UIImageView
- 6. 如何将图像视图转换为自定义形状(swift3)
- 7. 如何从矩形叠加裁剪uiimageView?
- 8. 用自定义形状自定义ImageView
- 9. 如何制作KineticJs自定义形状
- 10. 如何自定义形状的截图?
- 11. 如何创建自定义形状
- 12. 悬停到自定义形状。如何?
- 13. 从照片中裁剪自定义形状
- 14. 如何使用形状来定义裁剪区域?
- 15. 自定义矩形的图像裁剪
- 16. iPhone开发自定义形UIImageview
- 17. 为按钮创建自定义形状
- 18. 形状裁剪
- 19. 如何自定义形状如星形和圆形的图像?
- 20. 自定义形状的iframe
- 21. CSS自定义形状
- 22. 自定义按钮形状
- 23. UIView与自定义形状
- 24. html5 canvas自定义形状
- 25. 自定义ActionBar形状android
- 26. 自定义形状NSButton
- 27. 自定义形状:Android的
- 28. 作物自定义形状
- 29. InkAnalyzer UWP - 自定义形状
- 30. UIViewController.view.superview自定义形状
啊,那我怎么能做到这一点?我怎样才能使选框外的位透明?那么首先,我想我的问题是 - 我怎样才能从图纸中获得选取框内部的CGRect?我目前有一个用CGContext设置的UIKit图形视图等。 –
谢谢@NSPostWhenIdle! –