Байтовый массив изображения в 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;