我有一个绘图视图,我试图通过按钮单击
从该视图获取字节数组这是我的代码:
public void onClick(
drawView.setDrawingCacheEnabled(true);
String imgSaved = MediaStore.Images.Media.insertImage(
getContentResolver(), drawView.getDrawingCache(),
UUID.randomUUID().toString() + ".png", "drawing");
}
}
请帮忙!
答案 0 :(得分:1)
如果视图是ImageView首先转换为位图然后转换为字节数组
将ImageView转换为位图
public static Bitmap getImageViewAsBitmap(ImageView imageView) {
imageView.buildDrawingCache();
Bitmap bmap = imageView.getDrawingCache();
return bmap;
}
将位图转换为字节数组
public byte[] getBitmapAsByteArray(Bitmap bitmap) {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 0, outputStream);
return outputStream.toByteArray();
}
将字节数组转换为位图
public static Bitmap getByteArrayAsBitmap(byte[] bitmap) {
Bitmap bm = null;
try {
bm = BitmapFactory.decodeStream(new ByteArrayInputStream(bitmap));
} catch (Exception e) {
}
return bm;
}
要像这样调用这些方法:
提供 imageview 提供位图
Bitmap m1Bitmap= getImageViewAsBitmap(myimageView);
提供位图提供字节数组
byte[] mbyteArray =getBitmapAsByteArray(mBitmap);
提供字节数组提供位图
Bitmap m2Bitmap= getByteArrayAsBitmap(byte[] bitmap);