转换ImageView以字节为单位android?

use*_*728 1 android android-layout

我有一个ImageView,我正在为其分配一个使用zxing库生成的qr代码.

 <ImageView
        android:id="@+id/qrcode"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="15dp"
        android:layout_marginTop="86dp" />
Run Code Online (Sandbox Code Playgroud)

这是我的imageview,我想首先以字节为单位转换此ImageView,然后转换为bytearray.我能实现吗?

Nir*_*tel 7

如何将View转换为Bitmap

ImageView view = (ImageView)findViewById(R.id.qrcode);

view.setDrawingCacheEnabled(true);

view.buildDrawingCache();

Bitmap bm = view.getDrawingCache();
Run Code Online (Sandbox Code Playgroud)

将位图转换为ByteArray

ByteArrayOutputStream stream = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
Run Code Online (Sandbox Code Playgroud)