2012-07-20 102 views
1

我想以blob类型将图像写入数据库。但是当我从数据库加载这个图像时,它与源图像不同。我写的源图像到数据库如下:将图像保存到sqlite数据库有什么问题?

ByteArrayOutputStream bs = new ByteArrayOutputStream(); 
Bitmap medBmp = BitmapFactory.decodeStream(this.getResources().openRawResource(R.drawable.source_image)); 
      medBmp.compress(Bitmap.CompressFormat.JPEG, 100, bs); 
      initialValues.put(IMAGE_COL,bs.toByteArray()); 

这里是图像

源图像: enter image description here

图片从数据库 enter image description here

加载源图像的背景是透明,但图像从db加载具有黑色背景。为什么它们不同?我的代码有什么问题?

请帮助我,谢谢你。

回答

7

您正在将图像保存为JPEG,而JPEG不支持透明度。所以,你会得到那个黑色的背景。尝试使用PNG格式。

+0

谢谢你,它的工作原理。很简单,但为我节省了大量的时间。 – MichaelP 2012-07-20 03:26:16