Декодировать байт в растровое изображение - PullRequest
0 голосов
/ 29 февраля 2020

Я написал код для кодирования своего растрового изображения в байт, и я не могу его декодировать и сохранить "getImage" как байт.

public static byte[] imageViewToByte(ImageView noteImage) {
    Bitmap bitmap = ((BitmapDrawable)noteImage.getDrawable()).getBitmap();
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
    byte[] byteArray = stream.toByteArray();
    return byteArray;
}
if(item.getItemId() == R.id.save_note){

            Note note = new Note(noteTitle.getText().toString(),
                    noteContent.getText().toString(),
                    noteTPhone.getText().toString(),
                    noteClient.getText().toString(),
                    noteAge.getText().toString(),
                    todaysDate,currentTime,
            imageViewToByte(noteImage));




            NoteDatabase db = new NoteDatabase(this);
            db.addNote(note);
            Toast.makeText(this, "Saved", Toast.LENGTH_SHORT).show();
            goToMain();
        }

Decode Particippmt

Bitmap bitmap = BitmapFactory.decodeByteArray(image, 0, image.length);
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, blob);
        ByteArrayOutputStream blob = new ByteArrayOutputStream();
        byte[] image  = blob.toByteArray();


        contentDetails.setText(note.getContent());
        titleDetails.setText(note.getTitle());
        phoneDetails.setText(note.getPhone());
        clientDetails.setText(note.getClient());
        ageDetails.setText(note.getAge());
        imageDetails.setImageBitmap(note.getImage(zdjecie));

Наконец это не работает .. Я ценю любую помощь

1 Ответ

0 голосов
/ 29 февраля 2020

Класс модели Note состоит из данных изображения в виде байтового массива, и для установки растрового изображения в представление изображения просто вызовите метод getImageFromByte (), как показано ниже.

imageDetails.setImageBitmap(getImageFromByte(note.getImage())); 

После getImageFromByte (), как показано ниже для декодировать байтовый массив в растровое изображение и вернуть растровое изображение для просмотра изображения.

private Bitmap getImageFromByte(byte[] bytes){
        return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
    }

То есть байтовый массив преобразуется в растровое изображение. Наслаждайтесь, спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...