Tengo un Bitmap
con un tamaño de 320x480
y tengo que estirar en diferentes pantallas de dispositivos, he intentado usar esto:Cómo cambiar el tamaño de un mapa de bits eficiently y con una calidad de perder en Android
Rect dstRect = new Rect();
canvas.getClipBounds(dstRect);
canvas.drawBitmap(frameBuffer, null, dstRect, null);
que funciona , la imagen llena toda la pantalla como yo quería, pero la imagen está pixelada y se ve mal. Luego probé:
float scaleWidth = (float) newWidth/width;
float scaleHeight = (float) newHeight/height;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizedBitmap = Bitmap.createBitmap(frameBuffer, 0, 0,
width, height, matrix, true);
canvas.drawBitmap(resizedBitmap, 0, 0, null);
esta vez parece perfecto, agradable y suave, pero el código tiene que estar en mi bucle de juego principal y la creación de Bitmap
s cada iteración hace que sea muy lento. ¿Cómo puedo cambiar el tamaño de mi imagen para que no se pixele y se haga rápido?
encontrado la solución:
Paint paint = new Paint();
paint.setFilterBitmap();
canvas.drawBitmap(bitmap, matrix, paint);
Si encontró su propia solución, debe agregarla como respuesta a su pregunta y aceptarla usted mismo para que otros no agreguen respuestas no deseadas a su pregunta. – Kuffs