Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 20.09.2017, 09:31 Titel: TTF für Draw String ohne externe Programme |
|
|
Etwas, das ich schon lange im Hinterkopf hatte: Eine simple Function, die aus jedem installierten TrueType Font ein Font Image für Draw String erstellen kann, wobei das Betriebssystem das Rendern der Buchstaben übernimmt, so daß keine externen Programme nötig sind:
https://www.freebasic-portal.de/code-beispiele/grafik-und-fonts/truetypefonts-fuer-draw-string-nur-windows-307.html
Derzeit nur für Windows, falls sich einer der anwesenden Linuxer willens & in der Lage fühlt, ein entsprechendes Linux - Pendant zu programmieren: Frisch ans Werk!
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
UEZ
Anmeldungsdatum: 24.06.2016 Beiträge: 129 Wohnort: Opel Stadt
|
Verfasst am: 20.09.2017, 12:02 Titel: |
|
|
Bei mir stürzt der Code zum Schluss hin ab:
Unhandled exception at 0x00401B60 in Test05.exe: 0xC0000005: Access violation reading location 0x00000008. occurred
Test-System: Win10 x64 -> die Exe als x86 gestartet. Riecht nach einer Speicherschutzverletzung.
Ich persönlich würde eher GDI+ nehmen, da die Anzeige Qualität durch Antialising viel besser aussieht. _________________ Gruß,
UEZ |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 20.09.2017, 13:05 Titel: |
|
|
UEZ hat Folgendes geschrieben: | Ich persönlich würde eher GDI+ nehmen, da die Anzeige Qualität durch Antialising viel besser aussieht. |
Dazu braucht man noch nicht mal GDI+, man muss nur DEFAULT_QUALITY durch ANTIALIASED_QUALITY ersetzen.
Für genau diesen Zweck habe ich übrigens früher den Bitmap Font Builder verwendet, der auch eine nette GUI mit direkter Vorschau und Font-Auswahl bietet. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
UEZ
Anmeldungsdatum: 24.06.2016 Beiträge: 129 Wohnort: Opel Stadt
|
Verfasst am: 20.09.2017, 13:48 Titel: |
|
|
Zitat: | Dazu braucht man noch nicht mal GDI+, man muss nur DEFAULT_QUALITY durch ANTIALIASED_QUALITY ersetzen. |
Stimmt zwar, aber dennoch finde ich die GDI+ Qualität optisch besser als die GDI Variante, zumal noch diverse Funktionen für die Klasse Fonts existieren.
Nachteil zu GDI ist, dass GDI+ im Großen und Ganzen langsamer ist... _________________ Gruß,
UEZ |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 21.09.2017, 10:47 Titel: |
|
|
Hallo UEZ!
Was genau meinst du mit "zum Schluss hin"? Läuft die Slideshow noch durch?
Kann jemand anders den Absturz bestätigen?
Betriebssystem hier ist WinXP SP3/32Bit. Andere Optionen kann ich leider mangels Verfügbarkeit nicht testen.
Mein Ziel war es nicht, irgendeiner anderen Implementation qualitätsmäßig den Rang abzulaufen. Es soll nur eine einfache Methode sein (d.h. ohne externe Dateien / Programme / Bibliotheken, die ich mir erst zusammensuchen muß), die sich einfach in jedes Programm integrieren lässt, um die auf dem System installierten TT-Fonts statt der eingebauten FB - Schrift verwenden zu können.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Elor
Anmeldungsdatum: 12.07.2013 Beiträge: 205 Wohnort: Konstanz
|
Verfasst am: 21.09.2017, 11:19 Titel: |
|
|
Die Slideshow läuft bis Arial Standard 50 und endet mit der Meldung das das Programm nicht mehr Funktioniert (Win10/32). |
|
Nach oben |
|
|
UEZ
Anmeldungsdatum: 24.06.2016 Beiträge: 129 Wohnort: Opel Stadt
|
Verfasst am: 21.09.2017, 11:41 Titel: |
|
|
grindstone hat Folgendes geschrieben: | Hallo UEZ!
Was genau meinst du mit "zum Schluss hin"? Läuft die Slideshow noch durch? |
Ok, ich habe mich falsch ausgedrückt - sorry.
Der Absturz wird durch die Schriftart "Calibri" verursacht. Wie es aussieht in der Funktion "MakeTTFimage". _________________ Gruß,
UEZ |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 21.09.2017, 13:04 Titel: |
|
|
Danke für die Hinweise.
Ich habe den Fehler gefunden und beseitigt und den korrigierten Code hochgeladen. Bei Textmetrics kam für einige Zeichen eine Breite von 0 heraus. IMAGECREATE mit einer Breite von 0 gibt einen Nullpointer, und der führt dann zum Absturz.
Jetzt müsste es funktionieren.
Gruß
grindstone
EDIT: Noch was anderes: Arbeiten die WinAPI - Funktionen seit XP nicht sowieso mit GDI+? _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Zuletzt bearbeitet von grindstone am 21.09.2017, 13:26, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
UEZ
Anmeldungsdatum: 24.06.2016 Beiträge: 129 Wohnort: Opel Stadt
|
Verfasst am: 21.09.2017, 13:23 Titel: |
|
|
Jetzt passt's. _________________ Gruß,
UEZ |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 21.09.2017, 22:23 Titel: |
|
|
grindstone hat Folgendes geschrieben: | EDIT: Noch was anderes: Arbeiten die WinAPI - Funktionen seit XP nicht sowieso mit GDI+? |
GDI+ ist sein Windows XP ein fester Bestandteil des Systems (davor war es eine optionale Bibliothek), aber das heißt nicht dass dadurch plötzlich GDI+ das Backend für GDI-Funktionen wäre - das ist nach wie vor andersrum. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
Marc Bonus
Anmeldungsdatum: 19.11.2016 Beiträge: 43
|
Verfasst am: 21.09.2017, 22:24 Titel: |
|
|
Bei mir läuft es auch einwandfrei unter Windows 10. |
|
Nach oben |
|
|
|