Как правильно конвертировать целое число обратно в растровое изображение - PullRequest
0 голосов
/ 19 декабря 2018

В Android Studio я могу использовать следующие строки кода для получения массива из растрового изображения

Bitmap bitmap = get_Image();
Bitmap resizeBitmap = getResizedBitmap(bitmap);

int[] iArr = new int[(resizeBitmap.getWidth() * resizeBitmap.getHeight())];
resizeBitmap.getPixels(iArr, 0, resizeBitmap.getWidth(), 0, 0, resizeBitmap.getWidth(), resizeBitmap.getHeight());

Вот функция изменения размера:

public Bitmap getResizedBitmap(Bitmap bitmap) {
    if (576 == bitmap.getWidth() && 1024 == bitmap.getHeight()) {
        return bitmap;
    }

    Bitmap createBitmap = Bitmap.createBitmap(576, 1024, Config.RGB_565);

    Matrix scaledMatrix = scaledMatrix(bitmap.getWidth(), bitmap.getHeight(), createBitmap.getWidth(), createBitmap.getHeight());
    new Canvas(createBitmap).drawBitmap(bitmap, scaledMatrix, null);
    return createBitmap;
}

Однако, когда я конвертирую этот intмассив обратно в растровое изображение изображение неверно

Bitmap bmp = Bitmap.createBitmap(1024, 576, Config.RGB_565);
bmp.setPixels(iArr, 0, 1024, 0, 0, 1024, 576);
textViewToChange.setText("Bitmap created");

Это изображение, когда я сохраняю его в файл или отображаю его https://imgur.com/a/ZQ0DJAy Изображение выше, как оно выглядит, и ниже, как оноЕсли бы я выглядел как

Если я прочитал неправильное изображение в Python, пиксели RGB располагаются точно так, как они должны быть на правильном изображении, но изображение не выглядит так же.Зачем?Как я могу это исправить?

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