我使用以下代码将文本绘制到jpg图像上,但它需要x / y坐标精度来放置文本的位置.
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");
我如何将文本居中放在图像上?我猜这将与定义某种容器(矩形可能?),这是图像的宽度和文本的中心?不确定最佳做法是什么.
解决方法
using(var sf = new StringFormat() { Alignment = StringAlignment.Center,LineAlignment = StringAlignment.Center,}) { gra.DrawString(text,new Rectangle(0,bmp.Width,bmp.Height),sf); }