我想在 Windows 商店应用程序中使用 SQLite 创建一个用于图像处理的应用程序。我正在尝试将图像存储到 SQLite 并从 SQLite 检索图像。为了存储图像,我正在尝试将图像从 xaml 控制图像源转换为字节数组,但不工作,
任何建议,Windows 商店应用程序中的图像到字节数组转换?
我想在 Windows 商店应用程序中使用 SQLite 创建一个用于图像处理的应用程序。我正在尝试将图像存储到 SQLite 并从 SQLite 检索图像。为了存储图像,我正在尝试将图像从 xaml 控制图像源转换为字节数组,但不工作,
任何建议,Windows 商店应用程序中的图像到字节数组转换?
此代码在 JAVA 中,但您可以转换为 C#
创建具有 BLOB 列的表:
CREATE TABLE storedImages (_id INTEGER PRIMARY KEY, myImage BLOB);
使用 HTTP 下载图像并将其存储在您的表中:
DefaultHttpClient mHttpClient = new DefaultHttpClient();
HttpGet mHttpGet = new HttpGet("your image url");
HttpResponse mHttpResponse = mHttpClient.execute(mHttpGet);
if (mHttpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
HttpEntity entity = mHttpResponse.getEntity();
if (entity != null) {
// insert to database
ContentValues values = new ContentValues();
values.put(MyBaseColumn.MyTable.ImageField, EntityUtils.toByteArray(entity));
getContentResolver().insert(MyBaseColumn.MyTable.CONTENT_URI, values);
}
}
将 BLOB 加载到 ImageView 中:
ImageView myImage = (ImageView) findViewById(R.id.myImage);
byte[] bb = cursor.getBlob(cursor.getColumnIndex(MyBaseColumn.MyTable.ImageField));
myImage.setImageBitmap(BitmapFactory.decodeByteArray(bb, 0, bb.length));
编辑:1
有关 c# 中的更多参考,请参阅下面的链接
http://www.codeproject.com/Articles/196618/C-SQLite-Storing-Images