2010-10-11 13 views
6

Estoy usando el siguiente código para dibujar texto en una imagen jpg pero requiere una precisión de coordenadas x/y sobre dónde ubicar el texto.Cómo dibujar texto centrado en un jpg usando system.drawing en C#

var bmp = new Bitmap("C:\\testing\\Given.jpg"); 
var gra = Graphics.FromImage(bmp); 

var text = "The Berman's"; 
var font = new Font("Segoe Script", 24); 
var brush = Brushes.Orange; 
var point = new PointF(130, 224); 

gra.DrawString(text, font, brush, point); 
bmp.Save("C:\\testing\\Custom.jpg"); 

¿Cómo hago para centrar el texto en una imagen? Supongo que tendría que ver con la definición de algún tipo de contenedor (¿quizás un rectángulo?) Que es el ancho de la imagen y centrando el texto dentro de ese? No estoy seguro de cuál sería la mejor práctica para esto.

Respuesta

14
using(var sf = new StringFormat() 
{ 
    Alignment = StringAlignment.Center, 
    LineAlignment = StringAlignment.Center, 
}) 
{ 
    gra.DrawString(text, font, brush, new Rectangle(0, 0, bmp.Width, bmp.Height), sf); 
} 
+1

trabajado para mí! ¡Gracias! – bychkov

+0

¡gracias! todavía funciona en 2016! – aiden87

Cuestiones relacionadas