Text (+Formatierung) als Bild zeichnen

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Text (+Formatierung) als Bild zeichnen

    Hi,

    Mit folgendem Code kann ich den Inhalt einer Textbox wunderbar als Bild zeichnen:

    Quellcode

    1. Dim format As StringFormat = New StringFormat()
    2. Dim MyRect As Rectangle = New Rectangle(0, 0, Me.Content_RTB.Width, Me.Content_RTB.Height)
    3. Dim MyGraphics As Graphics = Me.CreateGraphics()
    4. Dim MyImg As Image = New Bitmap(MyRect.Width, MyRect.Height, MyGraphics)
    5. Dim imageGraphics As Graphics = Graphics.FromImage(MyImg)
    6. imageGraphics.FillRectangle(Brushes.White, MyRect)
    7. format.Alignment = StringAlignment.Center
    8. format.LineAlignment = StringAlignment.Center
    9. imageGraphics.DrawString(textbox1.Text, textbox1.Font, Brushes.Black, RectangleF.op_Implicit(MyRect))
    10. MyGraphics.DrawImage(MyImg, MyRect)
    11. MyImg.Save("C:\Users\Test\Desktop\test.tiff")


    Mein Problem ist Folgendes: Dies möchte ich mit einer Richtextbox (also auch der enthaltenen Formatierung) durchsetzen ... Mir fällt da einfach keine Lösung ein..
    Ich hatte daran gedacht, die Richtextbox Zeichen für Zeichen auszulesen, womit für jedes Zeichen die Formatierung und Position feststünde. Also "a" (style,x,y) => in bild speichern. "b" (style,x,y,) in bild speichern etc. - ist sowas umsetzbar oder gibt es da eine bessere Lösung?
    Sieh Dir mal das Drucken einer RTB an, dort wird genau dasselbe gemacht.
    Probiere, der PrintDocument-Routine ein anderes Graphics-Objekt unterzujubeln.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!