不知道从哪个版本开始,iPhone保存到相册的png,原本的透明底色,都变成白色了,这个坑,无论是隔空投送到手机相册的,还是微信保存的图片,或者是浏览器保存下来的图片,都会这样子,在网上查了很多资料,说是iPhone自作聪明,把500*500一下的图片,都自动做了转换,太坑了。。。
iOS中,图片上传有些是先转换二进制的,iOS提送了2个方法。一个是有损压缩UIImageJPEGRepresentation(UIImage*__nonnullimage,CGFloatcompressionQuality),compressionQuality就是要压缩的质量,一个是无损压缩UIImagePNGRepresentation(UIImage * __nonnull image)
有一点很重要,JPEG是没有透明通道的,PNG有透明通道,所以如果是要上传做水印的,一定要选PNG的,一旦选了JPEG,你的图片透明底就没了
说回重点,如何处理保存图片丢失透明度的问题,目前测试唯一有效的方法,就是修改图片大小,改成大于500*500,再去隔空投送,或者微信发送都可以,保存到手机相册,就会保留透明度了