我从 ARFrame 获取图像并将其转换为 UIImage ( imageToSave)。
var imageToSave = convert(cmage:arFrameImage)
UIImageWriteToSavedPhotosAlbum(imageToSave, nil, nil, nil);
Run Code Online (Sandbox Code Playgroud)
我保存到 iOS 相册中imageTosave。当我打印时,imageToSave.size我得到1080.0, 1920.0。当我检查图片分辨率时(将其导入到我的 Mac 后),它是1080.0, 1920.0。
然后我在上面画一些东西imageToSave。
let imageSize = imageToSave.size
let scale: CGFloat = 0
UIGraphicsBeginImageContextWithOptions(imageSize, false, scale)
image.draw(at: CGPoint(x: 0, y: 0))
let rectangle = CGRect(x: 10, y: 10, width: 10, height: 10)
UIColor.white.setFill()
UIRectFill(rectangle)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
print("========Image size B)=======")
print(newImage!.size)
UIImageWriteToSavedPhotosAlbum(newImage!, nil, nil, nil);
Run Code Online (Sandbox Code Playgroud)
当我打印时,newImage!.size我得到1080.0,1920.0正如预期的那样。但是当我检查图片分辨率时(将其导入到我的Mac后)它是3240.0, 5760.0。为什么真实(导入)图像分辨率与实际不同newImage!.size?
当您在 处创建时scale = 0,您将以设备的主屏幕比例保存图像 - 在您的情况下为 3 倍。
您正在创建一个 1080x1920点@3x的图像- 即 3240 x 5760像素
如果您希望最终图像为 1080x1920,请使用scale = 1
| 归档时间: |
|
| 查看次数: |
653 次 |
| 最近记录: |