在我的应用程序中我有一个数据库,我存储图像。我想检索images.images在BitMap中很容易检索,但问题是如何将该BitMap图像转换为整数格式。
这是代码:
DataBaseClass objOfDataBaseClass=new DataBaseClass(context);
Cursor mCursor=objOfDataBaseClass.showData();//here is all data taken from dataBase
if(mCursor.moveToNext()) {
byte[] mg=null;
mg = mCursor.getBlob(mCursor.getColumnIndex("image"));
Bitmap bitmap = BitmapFactory.decodeByteArray(mg, 0, mg.length);
int[] store=?//how can i bitMap store in this array.
}
答案 0 :(得分:1)
您可以使用Bitmap.getPixels
方法(documentation)
int width = bitmap.getWidth();
int height = bitmap.getHeight();
int[] store = new int[width * height];
bitmap.getPixels(store, 0, width, 0, 0, width, height);
答案 1 :(得分:1)
您不应存储位图本身的像素,因为位图包含未压缩格式的图像,这将导致大量数据(例如1024 x 768 x 32位为3.1 MB)。
最好将位图压缩为例如PNG并将其存储在数据库中。您可以将Bitmap.compress()用于此目的,并使用ByteArrayOutputStream
将数据写入。然后,将该输出流的字节存储到您的数据库中。