2011-04-18 18 views
5

Estoy dibujando texto formateado en lienzo usando DynamicLayout, y necesito implementar algún tipo de zoom. Traté de usar canvas.scale(...) para ello. Pero cuando el texto contiene más destacado, el texto se escala inconsistente con el fondo, como esto:Android: escalado de texto incorrecto al dibujar texto en lienzo

scaled text with highlight

Código que se basa el texto es muy simple:

canvas.scale(zoom, zoom); 
TextPaint textPaint = new TextPaint(); 
textPaint.setAntiAlias(true); 
DynamicLayout layout = new DynamicLayout(text, textPaint, width, 
          Layout.Alignment.ALIGN_NORMAL, 1.0f, 1.0f, false); 
layout.draw(canvas); 

cómo hacer que camino correcto?

Respuesta

5

He resuelto este problema, estableciendo textPaint.setSubpixelText(true);