Swift:UIImage的大小是其两倍

时间:2017-03-13 15:29:50

标签: ios swift uiimage

当我用

绘制UIImage周围的边框时
    let opaque = false
    let scale: CGFloat = 0
    UIGraphicsBeginImageContextWithOptions(CGSize.init(width: ((self.imageView?.image?.size.width)!+512), height: (self.imageView?.image?.size.height)!+512), opaque, scale)
    let context = UIGraphicsGetCurrentContext()

    context?.setFillColor(UIColor.yellow.cgColor)
    context?.fill(CGRect.init(x: 0, y: 0, width: (context?.width)!, height: (context?.width)!))

    self.imageView?.image?.draw(at: CGPoint.init(x: 256, y: 256))

    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

并打印出它的大小,这是完全正确的,因为我设置它:宽度和高度每个+ 256。

但是,当我将图像保存到库时,它的宽度是其宽度的两倍,高度的两倍。我不知道为什么。另外(这是让我最烦的部分),当我想在图像上画一些东西时,它似乎也有两倍大小...

1 个答案:

答案 0 :(得分:0)

谢谢,Maddy,让我走上正轨!

解决方案是:ScaleFactor必须为1:

let scale: CGFloat = 1