【发布时间】:2015-12-05 17:54:21
【问题描述】:
我有一个UIImagePickerController 可以拍照。我知道,例如来自UIImagePickerController doesn't fill screen 的 iPhone 摄像头与设备屏幕的宽高比不同,因此需要裁剪摄像头图像以获得没有黑条的照片。
我的问题如下:
当我以纵向模式拍照时,预览图像被垂直裁剪,使图像充满整个预览空间:
但是,当我以横向模式拍摄照片时,预览图像没有被裁剪,因此预览图像顶部出现一个黑条:
我读到我可以使用UIImagePickerController 的cameraViewTransform 属性来缩放预览图像。但是我必须在在拍照之前设置此属性,此时我不知道用户将在哪个方向拍照。
因此,如果我在拍摄照片之前应用缩放变换,则在纵向模式下和横向模式下,照片将不必要地在各个方面进行裁剪。如果我不应用传输,照片是在纵向模式下拍摄的,但在横向模式下有一个黑色的顶栏。
那么,在两个方向上正确裁剪照片(最小裁剪,但没有黑条)的正确方法是什么?
【问题讨论】:
标签: ios uiimagepickercontroller crop landscape