Wie zeichne zentrierten Text auf eine jpg System.Drawing in c #
-
29-09-2019 - |
Frage
Ich bin mit dem folgenden Code Text auf ein JPG-Bild zu zeichnen, aber es erfordert x / y-Koordinate percision auf, wo Sie den Text zu platzieren.
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");
Wie würde ich mich über Text auf ein Bild zentriert? Ich vermute, es würde mit der Definition eine Art von Behälter zu tun haben (Rechteck vielleicht?), Die die Breite des Bildes ist und Zentrieren des Textes innerhalb das? Nicht sicher, was die beste Praxis wäre dies sein.
Lösung
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);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow