Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

TTF für Draw String ohne externe Programme

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 20.09.2017, 08:31    Titel: TTF für Draw String ohne externe Programme Antworten mit Zitat

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! lächeln

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
UEZ



Anmeldungsdatum: 24.06.2016
Beiträge: 129
Wohnort: Opel Stadt

BeitragVerfasst am: 20.09.2017, 11:02    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 20.09.2017, 12:05    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
UEZ



Anmeldungsdatum: 24.06.2016
Beiträge: 129
Wohnort: Opel Stadt

BeitragVerfasst am: 20.09.2017, 12:48    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 21.09.2017, 09:47    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Elor



Anmeldungsdatum: 12.07.2013
Beiträge: 205
Wohnort: Konstanz

BeitragVerfasst am: 21.09.2017, 10:19    Titel: Antworten mit Zitat

Die Slideshow läuft bis Arial Standard 50 und endet mit der Meldung das das Programm nicht mehr Funktioniert (Win10/32).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
UEZ



Anmeldungsdatum: 24.06.2016
Beiträge: 129
Wohnort: Opel Stadt

BeitragVerfasst am: 21.09.2017, 10:41    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 21.09.2017, 12:04    Titel: Antworten mit Zitat

Danke für die Hinweise. lächeln

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, 12:26, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
UEZ



Anmeldungsdatum: 24.06.2016
Beiträge: 129
Wohnort: Opel Stadt

BeitragVerfasst am: 21.09.2017, 12:23    Titel: Antworten mit Zitat

Jetzt passt's. Daumen rauf!
_________________
Gruß,
UEZ
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 21.09.2017, 21:23    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Marc Bonus



Anmeldungsdatum: 19.11.2016
Beiträge: 43

BeitragVerfasst am: 21.09.2017, 21:24    Titel: Antworten mit Zitat

Bei mir läuft es auch einwandfrei unter Windows 10.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz