首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIGraphicsImageRenderer创建的图像具有不同的大小

UIGraphicsImageRenderer创建的图像具有不同的大小
EN

Stack Overflow用户
提问于 2019-03-04 19:13:10
回答 1查看 455关注 0票数 1

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

让string = NSAttributedString ( string:"0",attributes: attributeDict)让size = string.size() print(size)让traitCollection = UITraitCollection(displayScale: 1.0)让rendererFormat = UIGraphicsImageRendererFormat(for: traitCollection)

代码语言:javascript
复制
    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!
EN

回答 1

Stack Overflow用户

发布于 2019-03-04 22:45:45

UIGraphicsImageRenderer具有与其关联的比例,该比例确定您创建它的大小(以磅为单位)如何转换为实际像素。默认情况下,此比例与主显示的比例相同。

可以通过使用不同的格式初始化渲染器来更改比例:

代码语言:javascript
复制
let traitCollection = UITraitCollection(displayScale: 1.0)
let rendererFormat = UIGraphicsImageRendererFormat(for: traitCollection)
let renderer = UIGraphicsImageRenderer(bounds: CGRect(origin: .zero, size: size), format: rendererFormat)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54982069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档