Странное поведение фабрики растровых изображений (Android) - PullRequest
0 голосов
/ 31 марта 2012
static Boolean[][] squares = new Boolean[32][32];
static BitmapFactory.Options opts = new BitmapFactory.Options();

public static Boolean[][] getFrame(int id){

opts.inPreferredConfig = Bitmap.Config.ALPHA_8;
opts.outHeight = 32;
opts.outWidth = 32;

Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), R.raw.f11, opts);

for (int y = 0; y < 32; y++) {
    for (int x = 0; x < 32; x++) {
        int pixel = bmp.getPixel(x, y);

        if(pixel == -1)
            squares[x][y] = false;
        else
            squares[x][y] = true;

        }
}
return squares;
}

У меня проблема здесь, похоже, фабрика растровых изображений неправильно импортирует мои растровые изображения. Вот как выглядит оригинал, а вот что возвращает мне getPixel (и getPixels). Это происходит с объявленными опциями и без них. Я хотел бы знать, почему он импортирует 2-е изображение с разрешением 2x. Я пробовал 1-битные и 4-битные растровые изображения, а также объявлял 1-битные и 4-битные Bitmap.Config. Использование данных логического массива для рисования прямоугольников в сетке на холсте. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 15 января 2015

Может быть поздний ответ, но я бы попробовал

opts.inScaled = false;
0 голосов
/ 31 марта 2012

Полагаю, вы заметили это на экране?Если это так, что такое XML для ImageView?Может быть, вы случайно установили ошибочную ширину или высоту?

...