ios - 为 UIImagePickerController 设置尺寸 "move and scale"cropbox

标签 ios cocoa-touch ipad uiimagepickercontroller crop

“移动和缩放屏幕”如何确定裁剪框的尺寸?

基本上我想为“CropRect”设置一个固定的宽度和高度,让用户移动和缩放他的图像以根据需要适应该框。

有人知道怎么做吗? (或者如果使用 UIImagePickerController 甚至可能的话)

谢谢!

最佳答案

不幸的是,UIImagePickerController 是不可能的。我推荐的解决方案是禁用图像选择器的编辑并自行处理。例如,我将图像放在可滚动、可缩放的 ImageView 中。在 ImageView 的顶部是一个固定位置的“裁剪指南 View ”,它绘制了用户看到的裁剪指示器。假设引导 View 具有可见矩形(要保留的部分)和边缘宽度(要丢弃的部分)的属性,您可以像这样获得裁剪矩形。您可以使用 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];

关于ios - 为 UIImagePickerController 设置尺寸 "move and scale"cropbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9041732/

相关文章:

ios - AVPlayer支持2.35 :1 Cinematic Ratio

php - 如何将 NSMutableDictionary 发送到 PHP Web 服务器

iphone - 一次添加一个 UiImageView 到 UiScrollView...但是如何呢?

objective-c - 如何设置成长效果以在该 View 内播放视频?

ipad - 在 iPad 上访问本地主机

objective-c - 尝试制作自定义 TabBar。在 iPhone 3GS 中使用 viewController 转换会崩溃(但在 iPhone 4 中不会)

ios - iPhone 不可用。请重新连接设备。/iOS 14.2 - Xcode 12.1

ios - 为什么我的 PickerView 不显示数据

iphone - 将新 View 推送到导航堆栈时 UIToolbar 按钮消失

为 UIScrollView 获取数据时 iOS 应用程序在 iPad 上崩溃