来自Android的View中的字节数组

时间:2015-05-12 11:40:23

标签: android

我有一个绘图视图,我试图通过按钮单击

从该视图获取字节数组

这是我的代码:

public void onClick(    
drawView.setDrawingCacheEnabled(true);
                String imgSaved = MediaStore.Images.Media.insertImage(
                        getContentResolver(), drawView.getDrawingCache(),
                        UUID.randomUUID().toString() + ".png", "drawing");
        }
}

请帮忙!

1 个答案:

答案 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);