【发布时间】:2015-05-19 10:24:43
【问题描述】:
由于我将图像发送到 Parse.com,因此我必须将其转换为字节数组。我的第一种方法是从图库中选择图像并将其转换为字节数组,如下所示:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
mMediaUri = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(mMediaUri,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
picturePath = cursor.getString(columnIndex);
cursor.close();
// ImageView imageView = (ImageView) findViewById(R.id.imgView);
propertyImage.setImageBitmap(BitmapFactory.decodeFile(picturePath));
Bitmap bmp = BitmapFactory.decodeFile(picturePath);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byteArray = stream.toByteArray();
}
上述代码工作正常,图像已成功存储以供解析。现在,当我没有选择图像时,应用程序崩溃了。显然 bcoz,没有发送数据并引发解析异常。
现在,我想设置一个默认图像,即在我的可绘制文件夹中进行解析,以防 - 没有从图库中选择图像,这样解析操作就不会受到空数据的干扰。
我的方法是在开始时设置默认图像:
propertyImage=(ImageView)findViewById(R.id.imageViewOfImage);
propertyImage.setImageResource(R.drawable.blank_image);
现在,我将如何将此默认图像转换为 ByteArray,以便将其发送到解析?
感谢和问候
【问题讨论】:
-
首先需要将图片转换为
Bitmap,然后再转换为byte数组。 -
能用代码解释一下吗?
-
您是如何从图库中挑选图片的?
标签: android image parse-platform bytearray