DrawString - dopasowanie do Rectangle

0

Witam

W jaki sposób można by dostosować rozmiar czcionki podczas rysowania za pomocą (WinForms):

string text2 = "Draw text in a rectangle by passing a RectF to the DrawString method.";

using (Font font2 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point))

{ Rectangle rect2 = new Rectangle(30, 10, 100, 122); 

TextFormatFlags flags = TextFormatFlags.WordBreak; // Specify the text is wrapped.

TextRenderer.DrawText(e.Graphics, text2, font2, rect2, Color.Blue, flags); e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rect2)); }

Chodzi mi o to, żeby niezależnie od tego jak długi tekst wpiszemy zawsze się "wpasował" (przeliczanie rozmiaru czcionki) uwzględniając jakąś minimalną oraz maksymalną czcionkę. W tym momencie to działa tak, że ten tekst, który się nie mieści zostaje ucięty.

0

Ustal sobie „normalny” rozmiar rectangle'a i tekstu (np. szerokość 100 pikseli, czcionka 12pt).
Teraz jeśli prostokąt będzie ma 200 pikseli szerokości, czcionka powinna być 24pt.

0

Chodzi mi o coś uniwersalnego, czyli mając jakiś Rectangle (dowolny) podaje jakkolwiek długi tekst, który potrafi sobie pobrać taką czcionkę, która pozwoli w całości ten tekst wyświetlić (oczywiście w granicach czytelności czyli jakiś minimalny rozmiar czcionki można by przewidzieć). Chodzi mi tutaj aby wiersze się po prostu zawijały nie tylko zmniejszał tekst

1 użytkowników online, w tym zalogowanych: 0, gości: 1