2016-05-05 2 views
0

Я работаю над этой проблемой уже неделю, и я знаю ее что-то такое глупое. Когда я запускаю свое приложение на телефоне или эмуляторе, нарисованные растровые изображения перекрываются. Извините за мою грамматику и мой вопрос, но вот код и снимок экрана эмулятора.Рисование растровых изображений на перекрытие холста

//How I am rendering/drawing the bitmaps 
public void render() { 

    if (gameHolder.getSurface().isValid()) { 
     gameCanvas = gameHolder.lockCanvas(); 
     gameCanvas.drawColor(Color.BLACK); 

     int w = gameCanvas.getWidth(); 
     int h = gameCanvas.getHeight(); 

     Log.i("measure", w + " | " + h); 

     gameCanvas.drawBitmap(loadInBitmaps(1), (w/2), h/2, gamePaint); 
     gameCanvas.drawBitmap(loadInBitmaps(2), (w/2) + 32, h/2, gamePaint); 

     gameHolder.unlockCanvasAndPost(gameCanvas); 
    } 
} 


//How I am loading in the bitmaps 
public Bitmap loadInBitmaps(int number) { 

    Bitmap loadedBitmap = null; 

    if (number == 0) loadedBitmap = null; 
    //UI Bitmaps 
    if (number == 1) 
     loadedBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.northbutton); 
    if (number == 2) 
     loadedBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.southbutton); 

    return loadedBitmap; 
} 

Emulator Picture

+0

Я хотел бы также добавить Я использую 32 x 32 спрайтов. – Bluel3ull

+0

Являются ли чертежи сохранены в конкретной папке res? (Hdpi/xhdpi ..?). Можете ли вы напечатать то, что является значением загруженногоBitmap.getWidth(), сразу после его создания? – Gauthier

+0

@Gauthier У меня есть изображения, которые только что были сохранены в папке с возможностью по умолчанию, также я чувствую себя идиотом, чтобы не проверять размер бит-карт. Растровые изображения возвращают 48 x 48. Не могли бы вы объяснить, почему они расширяются? – Bluel3ull

ответ

1

Потому что вы кладете в вводимом коэффициент по умолчанию вытяжка каталога, Android предполагает, что ваш Bitmap должен масштабироваться от размера по умолчанию MDPI. Поместите свои чертежи в drawable-nodpi, если вы хотите отключить масштабирование ресурсов.

+0

Большое спасибо @Gauthier – Bluel3ull

Смежные вопросы