android保存透明图片格式,Android-加载透明PNG图片变黑的问题

在Android中,加载透明PNG图片时可能出现变黑的问题,通常是由于将无损的PNG图片错误地转换为有损的JPEG格式导致。PNG支持透明背景,而JPEG则不支持。在保存图片时,应正确处理图片格式,避免数据丢失。提供了一个文件保存到本地的代码示例,并提到了Android加载和处理大图片的工具SubsamplingScaleImageView。
摘要由CSDN通过智能技术生成

png和jpg作为两种最常用的图片格式,首先我们要知道他们的区别:

1.从一般图片的外观上来说,他们是无法直接判断的

2.从文件大小上来说,同样一张图png肯定比jpg的大

3.通过查资料咱们可以发现,png即可移植网络图形格式,也是一种位图文件存储格式,可以进行无损压缩。而jpg是我们最常见的图片格式了,图片占用存储较少,但是也牺牲了图片质量。

总结为一句话是两者最大的区别是有损和无损。

而出现加载透明png图片变黑的问题,一般情况下这样的:

服务端的图片是透明png的无损图片,我们下载到本地的时候强制把它处理为了jpg的形式,造成图片质量有损。

jpg图片是没有背景透明这个概念的。

图片下载保存到本地SD卡的工具方法,可以使用如下代码:

/**

* 将文件写到本地缓存

* @param fileName

* @param in

* @param length 总的文件长度

* @param callBack 下载回调接口

*/

private static void writeToLocal(String fileName, InputStream in,int length,DownloadCallback callback) {

if(in == null) {

return;

}

FileOutputStream out = null;

byte[] buffer = new byte[1024];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值