2010-12-31 8 views
5

Estoy tratando de hacer un juego para Android usando sprites, (o caracteres muy pixelados, fondos, etc.). Los dibujo en el lienzo como tal ...Android Canvas.DrawBitmap sin desenfoque/AntiAliasing?

matrix.preScale(xrat,yrat);

canvas.drawBitmap(img, matrix, null);

Donde img es el mapa de bits y la xrat y yrat son las escalas.

Mi problema es que cuando pruebo, el mapa de bits es borroso o antialias, ¿hay alguna manera de evitar esto? El estilo de arte de bloque rígido del juego se arruinará si los bloques son borrosos.

Cualquiera (CUALQUIERA) ayuda apreciada!

Respuesta

20

Crear una nueva pintura a utilizar en la elaboración de los mapas de bits con los ajustes:

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

Filtrado Creo que es activado de forma predeterminada e intentará suavizar los mapas de bits cuando se dibuja ampliado.

+2

Creo que el filtrado solo se aplica si está escalando hacia ARRIBA, no hacia ABAJO. Solo quería señalar esto ya que el OP no especificó. – user432209

+2

Hola, muchachos, muchísimo, también me gustaría agregar a cualquiera que esté haciendo un juego de 8 bits o tratando de hacer lo que estoy haciendo, necesitas poner tus recursos de imagen en hdpi dibujables o Android lo filtrará de todos modos . – seveibar

+0

Ambos puntos buenos. – GuyNoir

Cuestiones relacionadas