Байтовый массив изображения в imageview

Я немного искал, но не могу получить четкое представление об этом. Как я могу установить массив байтов изображения в imageview? Я попробовал строку BufferedImage img = ImageIO.read(new ByteArrayInputStream(bytes)); как в java, но не в состоянии: (может ли кто-нибудь помочь мне? извините, если вопрос был похож на noob:)

2 ответов


попробуйте ниже код для преобразования растрового изображения в bytearray и bytearray в bitmap, это решит вашу проблему.

преобразование растрового изображения в ByteArray: -

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();

преобразование ByteArray в растровое изображение: -

Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
ImageView image = (ImageView) findViewById(R.id.imageView1);

image.setImageBitmap(Bitmap.createScaledBitmap(bmp, image.getWidth(),
                image.getHeight(), false));

Получить Байты Из Bitmap

    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.JPEG, 70, stream);
    byte[] bytearray = stream.toByteArray();
    return bytearray;