“移动和缩放屏幕”如何确定其裁剪框的尺寸?
基本上我想为“CropRect”设置固定的宽度和高度,让用户根据需要移动和缩放他的图像以适应该框。
有谁知道怎么做? (或者甚至可以使用UIImagePickerController)
谢谢!
答案 0 :(得分:36)
遗憾的是UIImagePickerController无法实现。我建议的解决方案是禁用图像选择器的编辑并自行处理。例如,我将图像放在可滚动的可缩放图像视图中。在图像视图的顶部是固定位置“裁剪指南视图”,其绘制用户看到的裁剪指示符。假设引导视图具有可见rect(要保留的部分)和边缘宽度(要丢弃的部分)的属性,您可以像这样获得裁剪矩形。您可以使用UIImage+Resize类别进行实际裁剪。
CGRect cropGuide = self.cropGuideView.visibleRect;
UIEdgeInsets edges = self.cropGuideView.edgeWidths;
CGPoint cropGuideOffset = self.cropScrollView.contentOffset;
CGPoint origin = CGPointMake( cropGuideOffset.x + edges.left, cropGuideOffset.y + edges.top );
CGSize size = cropGuide.size;
CGRect crop = { origin, size };
crop.origin.x = crop.origin.x / self.cropScrollView.zoomScale;
crop.origin.y = crop.origin.y / self.cropScrollView.zoomScale;
crop.size.width = crop.size.width / self.cropScrollView.zoomScale;
crop.size.height = crop.size.height / self.cropScrollView.zoomScale;
photo = [photo croppedImage:crop];
答案 1 :(得分:24)
有点迟到,但我认为这可能是你要找的:https://github.com/gekitz/GKImagePicker
答案 2 :(得分:4)
这是明阳手工种植的解决方案。 https://github.com/myang-git/iOS-Image-Crop-View
它提供了一个矩形框架,用户可以滑动或拖动以适合矩形中图像的所需部分。请注意,此解决方案与问题相反 - 让矩形大小变化,但最终会带来所需的结果。
它在Objective-C中编码。您可能必须在Swift中对其进行编码,或者只是构建一个桥接头以将Objective-C代码与Swift代码连接起来。
答案 3 :(得分:1)
现在比较晚,但可能对某人有用。这是我用于swift的库(非常感谢Tim Oliver):
如上面的GitHub链接中的README文件中所述,通过使用该库,您可以获得用户定义的矩形以及圆形模式中的裁剪图像,例如:用于更新个人资料图片 下面是GitHub的示例代码:
{{1}}