UIImageJPEGRepresentation 使用中存在的问题

本文介绍了iOS中UIImageJPEGRepresentation和UIImagePNGRepresentation两种图片压缩方法的区别及其应用场景。UIImageJPEGRepresentation压缩后的图片体积更小,适合用于大多数情况,而UIImagePNGRepresentation则保留了更高的图片质量,适用于对画质有极高要求的场景。文中还特别提到了使用UIImageJPEGRepresentation时可能遇到的一个问题,即某些特定类型的图片在经过压缩后可能出现失真的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS上有两种转化图片的的简单方法:
1丶UIImageJPEGRepresentation(<#UIImage * _Nonnull image#>, <#CGFloat compressionQuality#>)
参数1:图片,参数2:压缩系数
2丶UIImagePNGRepresentation(<#UIImage * _Nonnull image#>)
参数:图片
UIImageJPEGRepresentation 压缩后图片较小图片质量也无较大差异:
UIImagePNGRepresentation 压缩图片的图片较大;
日常工作中推荐使用的是UIImageJPEGRepresentation图压缩后节省内存,减少避免图片过多照成的卡顿现象。
当然如果对图片画质有极高的要求的话,还是使用UIImagePNGRepresentation。

使用UIImageJPEGRepresentation遇到的问题:
///< NSData *data = UIImageJPEGRepresentation(image, 1);偶然发现使用UIImageJPEGRepresentation 一些无背景的白色图案经过压缩之后会变成白色背景无图案的图片,因为像素低,再经压缩后,就会导致图片失真, 成为白底无图案的图片(这种情况应该不常见,但确实存在);
后只能使用UIImagePNGRepresentation用原图展示,当然这不是最好的方法。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值