2010-12-31 11 views
5

Staram się zrobić grę androidową za pomocą duszków (lub bardzo pixelowanych postaci, tła itp.). Rysuję je na płótnie jak tak ...Android Canvas.DrawBitmap bez rozmycia/AntiAliasing?

matrix.preScale(xrat,yrat);

canvas.drawBitmap(img, matrix, null);

Gdzie img jest bitmapy i xrat i yrat są łuski.

Mój problem polega na tym, że kiedy testuję bitmapę jest rozmazany lub wygładzany, czy istnieje sposób, aby temu zapobiec? Sztywno-blokowy styl gry zostanie zrujnowany, jeśli bloki będą rozmyte.

Każda (KAŻDA) pomoc doceniona!

Odpowiedz

20

Utwórz nowe farby do wykorzystania przy sporządzaniu mapy bitowe z ustawieniami:

Paint drawPaint = new Paint(); 
drawPaint.setAntiAlias(false); 
drawPaint.setFilterBitmap(false); 

Filtrowanie wierzę jest domyślnie włączona i będzie próbował wygładzić bitmap podczas przeciągania skalowane w górę.

+2

Uważam, że filtrowanie jest stosowane tylko wtedy, gdy skalujesz W GÓRĘ, a NIE W DÓŁ. Chciałem tylko zwrócić na to uwagę, ponieważ PO nie precyzował. – user432209

+2

Hej, dzięki, chłopaki, bardzo, chciałbym dodać do każdego, kto robi 8-bitową grę lub próbuje zrobić to, co robię, musisz umieścić swoje zasoby graficzne w drawable-hdpi lub android i tak to odfiltruje . – seveibar

+0

Obie dobre strony. – GuyNoir

Powiązane problemy