Dibuje mapas de bits a escala sin problemas en la lona
Así dibujo Bitmap
sobre Canvas
en mi aplicación para Android:
canvas.save(); canvas.scale(scale, scale, x, y); canvas.drawBitmap(bitmap, x, y, null); canvas.restore();
Sin embargo, el Bitmap
no se escala sin problemas, no se realiza anti-aliasing. ¿Cómo puedo activar el anti-aliasing?
- Obtener el valor de color de píxel de un punto en una vista de Android que incluye un lienzo con respaldo de mapa de bits
- ¿Cómo hincho una forma para dibujar sobre una lona?
- Trabaje alrededor de Canvas.clipPath () que ya no es compatible con android
- Android View.onDraw () siempre tiene un lienzo limpio
- Android salta onDraw () cuando ejecuto mi animación en reversa
- ¿Cómo puedo mover una imagen de un punto a otro mediante Android Canvas?
- Dibujar mapas de bits de recursos sobre otro
- Android - ¿Cómo rotar Rect Object?
- Uso de clipRect - explicación
- ¿Qué significa lockCanvas (elaborar)
- Android - Rellena el camino parcialmente
- VectorDrawable: ¿Cómo posicionarlo sobre lienzo?
- ¿Cómo guardar la vista desde el lienzo al archivo PNG?
Prueba esto:
Paint paint = new Paint(); paint.setAntiAlias(true); paint.setFilterBitmap(true); paint.setDither(true); canvas.drawBitmap(bitmap, x, y, paint);
Tanto Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG);
O paint.setFilterBitmap(true);
Trabajado para mí, pero tenga mucho cuidado, en mi juego se redujo el FPS de 30FPS
a 17FPS
sólo. Así que si es un dibujo de misión crítica como en un juego mejor escala la imagen en el momento de carga. Lo cual hice de la siguiente manera:
public Bitmap getImage (int id, int width, int height) { Bitmap bmp = BitmapFactory.decodeResource( getResources(), id ); Bitmap img = Bitmap.createScaledBitmap( bmp, width, height, true ); bmp.recycle(); return img; }
¿Ha intentado crear un objeto Paint
, llamando a setAntiAlias(true)
y pasándolo al método drawBitmap
como el 4to parámetro? Si esto no funciona, supongo que debería reducir la escala de la llamada drawBitmap
lugar de escalar el lienzo, por ejemplo, utilizando drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)
.
Utilizar:
canvas.drawBitmap(source, 0, 0, new Paint(Paint.ANTI_ALIAS_FLAG));
- Datos de sincronización de Android entre usuarios
- Al hacer clic en el icono de la aplicación no se activa onOptionsItemSelected ()