Używam następujący kod do rysowania tekstu na bitmapę:Czy możliwe jest określenie dokładnego rozmiaru czcionki podczas rysowania tekstu za pomocą GDI +?
using (Font font = new Font("Arial", 10.0f, FontStyle.Bold, GraphicsUnit.Point))
{
//draw the text
graphics.DrawString("Some text", font, Brushes.White, rect, stringFormat);
}
Działa miłe. Tutaj jest renderowany tekst:
Chcę, by tekst był trochę większy. Jeżeli ustawić 11 jak rozmiar czcionki, o to co ja dostać:
Jest zbyt duży dla czego chcę. Próbowałem 10,25, 10,5 i takie, ale to daje taki sam wynik jak 10.
Ja też spróbować ustawić GraphicsUnit
do Pixel
ale zachowuje taką samą (nie ma możliwości, aby ustawić niestandardowy rozmiar czcionki).
Oto moje pytanie:
Podczas opracowywania tekstu przy użyciu GDI + (C#), czy istnieje możliwośc „dostroić” wielkość świadczonych tekstu?
Edycja: kod bardziej kompletny fragment (na żądanie)
using (Bitmap bitmap = new Bitmap(width, height))
using (Graphics graphics = Graphics.FromImage(bitmap))
using (Font font = new Font("Arial", 10.0f, FontStyle.Bold, GraphicsUnit.Point))
{
graphics.SmoothingMode = SmoothingMode.AntiAlias;
graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
Rectangle rect = new Rectangle(0, 0, width, height);
//method 1
StringFormat stringFormat = new StringFormat();
stringFormat.Alignment = StringAlignment.Center;
stringFormat.LineAlignment = StringAlignment.Center;
graphics.DrawString("Some text", font, Brushes.White, rect, stringFormat);
//method 2
TextFormatFlags flags = TextFormatFlags.HorizontalCenter |
TextFormatFlags.VerticalCenter | TextFormatFlags.WordBreak;
TextRenderer.DrawText(graphics, "Some text", font, rect, Color.White, flags);
bitmap.Save(stream, ImageFormat.Png);
}
Spróbuj 'TextRenderingHint.ClearTypeGridFit' – leppie
Próbowałem graphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit, ale daje takie same wyniki – tigrou
Podejrzewam swój' StringFormat' jest źle. IIRC, użyłem 'FitBlackBox' z sukcesem. W rzeczywistości zmieniłem szerokość czcionki, aby była dokładnie liczbą całkowitą, w oparciu o bardzo szczegółowe ustawienia wysokości. – leppie