png转图片变黑的问题,我是在分享到微信时碰到的,当时iOS没啥问题,Android这边图片下载、在网页上查看都是没有问题的,但是应用内和分享到微信,就会导致这个问题的出现
解决方案
- 应用内的,其实可以打开Bitmap 的一个参数,这样在使用ImageView去加载的时候,就不会出现黑边的问题了
bitmap.setHasAlpha(true);//绘制时告知Bitmap是否是透明的
- 分享到微信,则需要重新给Bitmap添加颜色,然后将原先的黑边覆盖掉,这种方式也可以用于ImageView 的展示
/**
* 防止 png 转 bitmap导致分享出去变黑的问题
*/
private Bitmap setBitmapBackgroundColor(Bitmap bitmap, int color) {
Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_4444);
Canvas canvas = new Canvas(newBitmap);
canvas.drawColor(color);
Paint paint = new Paint();
canvas.drawBitmap(bitmap, 0, 0, paint);
return newBitmap;
}
注意:下面的方法不能设置颜色透明,否则没效果