Bitmapschrift zum Blitten :P

  • Moin

    Mal wieder ein mehr oder weniger nutzloses Skript:

    Funktionen:
    Es ist möglich unglaublich Viel Text auf eine sehr kleine Fläche zu bringen.
    Der Text braucht nur bei der Herstellung einiges an Zeit, das zeichnen später ist Flott --> weeesentlich schneller als DrawStringEx !
    Man kann Passgenau Extrem kleinen Text verwenden. (bei den "normalen" Funktionen weiß man nie wo der Text landet, wenn man ihn Zeichnet. Man hat immer ein paar Px Abweichung und muss diese dann mit Konstanten korrigieren...)
    Man braucht KEINE FontFamily, Font, Brush, TagPointStructure oder StringFormat und kann trotzdem Skaliert und Farbig (auch Transparent) Zeichnen !
    Leichter Bewegbar (wenn man z.B. Bewegte Sachen beschriftet in Spielen) muss man nicht immer die Struct neu aufbauen)
    Nachträglich ist der Text allerdings nicht mehr änderbar, da der Text ins Bildformat überführt wird.

    Funktionsweise:
    Man Denkt sich einen Text aus und ersetzt alle Returns durch '|'.
    Das Skript stellt Fest wie groß der Text mal wird, wenn man ihn in der angegebenen Größe Zeichnen Will.
    Es wird ein Puffer (dc) in genau dieser Größe erstellt.
    Der Text wird Zeichenweise in den dc gestopft.
    Anschließend wird von der Herstellungsfunktion ein Array mit dc, breite, höhe, ptr und hbmp zurückgegeben. Damit weiß man genau wie groß das Teil geworden ist.

    Bisherige Schriftgrößen:
    4x4 px
    5x5 px

    - Es können nur quadraaahtische Schriftgrößen (also z.b. noch 3x3 wenns jemand lesen kann oder 6x6) verwendet werden.
    - Im Anhang sind die Schriften drin. (da sieht man wies aufgebaut wird)

    Wenn der unwahrscheinliche Fall eintritt, dass das jemand unterstützen will darf er kreativ sein und selbst eine kleine Schrift entwerfen. (bitte ans Schema halten)

    Motiviert wurde ich durch _GDIPlus_GraphicsDrawStringEx
    Diese Funktion ist in meinen Augen Schrecklich.
    Man braucht unmengen Nutzloser Sachen (Brush, TagPointStructure, FontFamily, Font, Graphics, usw...)
    Die Dauer ist bei etwas größeren Texten nicht mehr vertretbar :P
    Der Mist passt nie xDDD

    Liebe Grüße
    Mars(i)