Tengo un WriteableBitmap y me gustaría que el usuario pueda dibujar sobre él como si fuera un simple mapa de bits.¿Cómo puedo escribir una secuencia en WriteableBitmap?
¿Cómo puedo hacerlo?
Tengo un WriteableBitmap y me gustaría que el usuario pueda dibujar sobre él como si fuera un simple mapa de bits.¿Cómo puedo escribir una secuencia en WriteableBitmap?
¿Cómo puedo hacerlo?
Puede configurar un control TextBlock en el código, establecer la propiedad Text con la cadena y llamar al método Render() del WritableBitmap con ese TextBlock. El TextBlock nunca tiene que estar en el árbol visual, pero tendrá que llamar a Invalidate() en el mapa de bits después para que aparezca el texto.
private void RenderString(WriteableBitmap bitmap, string stringToRender)
{
TextBlock textBlock = new TextBlock();
textBlock.Text = stringToRender;
// set font, size, etc. on textBlock
bitmap.Render(textBlock, null);
bitmap.Invalidate();
}
No estoy usando Silverlight y recibo estos errores: El error 1 'System.Windows.Media.Imaging.WriteableBitmap' no contiene una definición para 'Render' y ningún método de extensión 'Render' acepta un primer argumento de tipo Se pudo encontrar 'System.Windows.Media.Imaging.WriteableBitmap' y el Error 2 'System.Windows.Media.Imaging.WriteableBitmap' no contiene una definición para 'Invalidar' y ningún método de extensión 'Invalidar' al aceptar un primer argumento de tipo 'System.Windows.Media.Imaging.WriteableBitmap' - ¿Esto es porque no estoy usando Silverlight? – zetar
@zetar necesita la biblioteca WriteableBitmapEx. http://writeablebitmapex.codeplex.com –
¿Estás hablando de representar una cadena de texto sobre un WritableBitmap existente? –
sí, necesito renderizar una cadena de texto sobre él. – Yanshof