首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UIGraphicsImageRenderer将UIImage调整为固定像素大小

使用UIGraphicsImageRenderer将UIImage调整为固定像素大小
EN

Stack Overflow用户
提问于 2021-03-12 15:23:15
回答 1查看 268关注 0票数 0
代码语言:javascript
复制
        func thumbImage(image: UIImage) -> UIImage {
            let cgSize: CGSize = CGSize(width: 100, height: 100)
            let thumb = UIGraphicsImageRenderer(size: cgSize)
        
            return thumb.image { _ in
            image.draw(in: CGRect(origin: .zero, size: cgSize))
            }
        }

最后的图像是300x300。我希望,不管iPhone屏幕分辨率如何,图像应该是100x100 (当然,这是一个方形图像)。

如何修改此代码以实现此结果?

(我对实现这一目标的其他方法持开放态度)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-12 16:06:56

代码语言:javascript
复制
func thumbImage(image: UIImage, pxWidth: Int, pxHeight:Int ) -> UIImage {
        let cgSize: CGSize = CGSize(width: pxWidth, height: pxHeight)
        let rect = CGRect(x: 0, y: 0, width: pxWidth, height: pxHeight)
        
        UIGraphicsBeginImageContextWithOptions(cgSize, false, 1.0)
        image.draw(in: rect)
        let thumb = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        
        let compressedThumb = thumb!.jpegData(compressionQuality: 0.70)
        
        return UIImage(data: compressedThumb!)!
        
    }

这一选择与UIGraphicsBeginImageContextWithOptions一起工作,并保持代码与初始代码一样短。(我还添加了一些压缩和转换代码)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66602675

复制
相关文章

相似问题

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