2010-10-11 3 views
6

다음 코드를 사용하여 jpg 이미지 위에 텍스트를 그리지 만 텍스트를 배치 할 위치에 x/y 좌표가 필요합니다.C에서 system.drawing을 사용하여 jpg에 가운데 맞춤 텍스트를 그리는 방법 #

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"); 

이미지 위로 텍스트를 가운데에 배치하는 방법은 무엇입니까? 나는 이미지의 너비와 그 안에 텍스트의 중심에있는 일종의 컨테이너 (직사각형 어쩌면?)를 정의하는 것과 관련이 있다고 추측하고있다. 가장 좋은 방법이 무엇인지 확실하지 않습니다.

답변

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

나를 위해 일했습니다! 감사! – bychkov

+0

감사합니다! 아직도 2016 년에 작동합니다! – aiden87

관련 문제