在 UIImage 上创建一个使用 UIImagePickerController info 字典的全分辨率裁剪图像的分类。
UIImagePickerController
类包含一个参数 (allowsEditing
),允许用户移动、缩放和裁剪图像成一个方形。
UIImagePickerControllerDelegate
协议返回的 info
字典中包括图像的“已编辑”版本,但它的分辨率限制在相对较小的大小。
然而,该字典还包含指向全分辨率图像的指针以及 UIImagePickerControllerCropRect
关键字的值,这是一个对应于用户选择的区域的 CGRect
。
不幸的是,从设备相机获取 UIImage 的一部分不是完全简单的,因为图像数据始终以设备的原始方向存储,并带有标记,指示在显示之前应将其旋转。
因此,需要在选择相关区域并将其绘制到 CGContext 之前旋转和转换图像,这是一个底层 CoreGraphics 操作。
该分类在 UIImage 上执行此操作,以创建最大可能的分辨率裁剪图像。