我正在尝试从远程位置显示可能透明的图像,但是当我将其添加到ImageView
时,alpha通道似乎是白色的。
我正在使用以下代码下载远程图像:
public static Bitmap loadBitmap(String url) throws IOException {
int bufferSize = 1024;
InputStream in = new BufferedInputStream(new URL(url).openStream(), bufferSize);
Bitmap bitmap = BitmapFactory.decodeStream(in);
try {
in.close();
} catch (Exception ignored) {
}
return bitmap;
}
在我提到Activity
的{{1}}中,我有以下代码(省略了try-catch):
ImageView
if (bitmap != null) {
ImageView imageView = (ImageView) findViewById(R.id.my_image_view);
imageView.setImageBitmap(bitmap);
}
返回bitmap.getConfig()
。
我正在针对Android 1.6进行编码,即SDK版本4。
我错过了一些神奇的二传手吗?当我从我的res文件夹中加载与ARGB_8888
完全相同的图片时,它可以正常工作。
我注意到Drawable
上有一个名为setHasAlpha
的setter,但这是自SDK级别12以来。
编辑:
我尝试将我知道的一些像素的颜色透明,颜色为== Bitmap
,这是透明的。
答案 0 :(得分:2)
听起来像ImageView本身有背景。尝试将背景颜色设置为透明(例如,imageView.setBackgroundColor(0);
答案 1 :(得分:0)
将压缩格式用作PNG
BufferedOutputStream bos = new BufferedOutputStream(
fileOutputStream);
bmpimg.compress(CompressFormat.PNG, 20, bos);