我的代码看起来像这样 -
if let cgImage = cgImage.cropping(to: cropRect) {
let croppedUIImage = UIImage(cgImage: cgImage, scale: 1.0, orientation: originalImage.imageOrientation)
return croppedUIImage // Control was here while doing all "po"s
}
然后我在控制台上打印了几个对象 -
(lldb) po cropRect
▿ (408.0, 0.0, 2448.0, 2448.0)
▿ origin : (408.0, 0.0)
- x : 408.0
- y : 0.0
▿ size : (2448.0, 2448.0)
- width : 2448.0
- height : 2448.0
(lldb) po cgImage.height
2448
(lldb) po cgImage.width
2449
(lldb) po croppedUIImage.size
▿ (2448.0, 2449.0)
- width : 2448.0
- height : 2449.0
我的cropRect大小为2448.0×2448.0,但cropping(to:)
的输出图像大小为2448.0×2449.0
为什么这样?如何在不重新裁剪图像的情况下解决这个问题?