我创建了一个大小不同的UIGraphicsImageRenderer,但是我得到了一个不同大小的cgImage ??

让string = NSAttributedString ( string:"0",attributes: attributeDict)让size = string.size() print(size)让traitCollection = UITraitCollection(displayScale: 1.0)让rendererFormat = UIGraphicsImageRendererFormat(for: traitCollection)
let renderer = UIGraphicsImageRenderer(bounds: CGRect(origin: .zero, size: size), format: rendererFormat)
let im = renderer.image{ (context) in
UIColor.black.setStroke()
let element = CGFloat(grayShade)/CGFloat(255)
let color = UIColor(red: element, green: element, blue: element, alpha: 1)
print(color)
color.setFill()
context.stroke(renderer.format.bounds)
context.fill(renderer.format.bounds)
let rect = context.format.bounds
print(rect)
string.draw(in: rect)
}
let cg = im.cgImage
return cg!发布于 2019-03-04 22:45:45
UIGraphicsImageRenderer具有与其关联的比例,该比例确定您创建它的大小(以磅为单位)如何转换为实际像素。默认情况下,此比例与主显示的比例相同。
可以通过使用不同的格式初始化渲染器来更改比例:
let traitCollection = UITraitCollection(displayScale: 1.0)
let rendererFormat = UIGraphicsImageRendererFormat(for: traitCollection)
let renderer = UIGraphicsImageRenderer(bounds: CGRect(origin: .zero, size: size), format: rendererFormat)https://stackoverflow.com/questions/54982069
复制相似问题