我想在保持照片质量的同时向照片添加白色边框,所以我使用UIGraphicsImageRenderer绘制白色背景,然后将照片向上绘制,结果显着增加了内存使用率,还有更好的方法吗?
原始图片的分辨率为4032 * 3024。
let renderer = UIGraphicsImageRenderer(size: CGSize(width: canvasSideLength, height: canvasSideLength))
let newImage = renderer.image { context in
UIColor.white.setFill()
context.fill(CGRect(x: 0, y: 0, width: canvasSideLength, height: canvasSideLength))
image.draw(in: CGRect(x: photoCanvasX, y: photoCanvasY, width: photoCanvasWidth, height: photoCanvasHeight))
}
默认情况下,UIGraphicsImageRenderer
将以屏幕分辨率生成图像(例如,可能是2倍或3倍,具体取决于您的设备)。例如。在3x设备上,请考虑: