-1

我正在尝试获取放入图像视图的图像。这是我的方法:

// Get the image in the image view
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    Bitmap myBitmap = mImageView.getDrawingCache();
    myBitmap.compress(CompressFormat.PNG, 0, outputStream);

然后我想将它插入到数据库中:

mDbHelper.createReminder(outputStream);

数据库适配器如下所示:

public long createReminder(ByteArrayOutputStream outputStream) {
    ContentValues initialValues = new ContentValues();
    initialValues.put(KEY_IMAGE, outputStream.toByteArray());        
    return mDb.insert(DATABASE_TABLE, null, initialValues);
}

当我尝试它时,应用程序崩溃了。我认为我的陈述在某种程度上是错误的。有任何想法吗???

4

2 回答 2

1
Drawable drawable = mImageView.getDrawable();
if (drawable instanceof BitmapDrawable) {
    BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
    Bitmap bitmap = bitmapDrawable.getBitmap();
}
于 2012-06-04T14:09:55.947 回答
1
Drawable myDrawable = mImageView.getDrawable();

Bitmap bitmap = ((BitmapDrawable)myDrawable).getBitmap();

现在您将位图转换为流并存储在数据库中。

于 2012-06-04T14:13:17.443 回答