LoadFont
-
- Beiträge: 173
- Registriert: 30.11.2010 02:34
LoadFont
habe noch eine frage über LoadFont.
der LoadFont scheint die Schrift und Grad nicht beim Laden des Programms immer korrekt zu laden. Es gibt zwar keine Fehlermeldung. die Anwendung wird gestartet und der Font wird geladen aber wenn ich mittels DrawText nun zeichne, erscheint nicht die gewünschte Schriftart in der korrekten Größe. Statt dessen kommt ganz normal diese standardmäßige Fontdarstellung in der eben standardmäßigen größe.
Das kann ruhig jeder selbst ausprobieren. ein beispielcode ist nicht wirklich von nöten. einfach mittels LoadFont die schrift laden und vor DrawText unter "If CreateImage..." mittels isfont() die Fontverfügbarkeit checken und wenn verfügbar einfach mittels DrawingFont() anwenden. Mal klappts wie es soll. Mal scheint alles ok, aber die Font und Grad passen sich nicht an.
woran kann es liegen? gibt es eine möglichkeit, dies zu erzwingen?
mfg
kurt
der LoadFont scheint die Schrift und Grad nicht beim Laden des Programms immer korrekt zu laden. Es gibt zwar keine Fehlermeldung. die Anwendung wird gestartet und der Font wird geladen aber wenn ich mittels DrawText nun zeichne, erscheint nicht die gewünschte Schriftart in der korrekten Größe. Statt dessen kommt ganz normal diese standardmäßige Fontdarstellung in der eben standardmäßigen größe.
Das kann ruhig jeder selbst ausprobieren. ein beispielcode ist nicht wirklich von nöten. einfach mittels LoadFont die schrift laden und vor DrawText unter "If CreateImage..." mittels isfont() die Fontverfügbarkeit checken und wenn verfügbar einfach mittels DrawingFont() anwenden. Mal klappts wie es soll. Mal scheint alles ok, aber die Font und Grad passen sich nicht an.
woran kann es liegen? gibt es eine möglichkeit, dies zu erzwingen?
mfg
kurt
Re: LoadFont
Ich hab mal nen Beispielcode geschrieben und habe mehrfach hintereinander ausgeführt.
Bei mir entstehen keine Fehler beim Laden oder Zeichnen:
Bei mir entstehen keine Fehler beim Laden oder Zeichnen:
Code: Alles auswählen
EnableExplicit
Define EventID
LoadFont(1,"Courier",20,#PB_Font_Underline)
CreateImage(1,480,50)
If StartDrawing(ImageOutput(1))
DrawingFont(FontID(1))
DrawText(10,10,"PureBasic ForEver",RGB(0,0,255))
StopDrawing()
EndIf
If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ImageGadget(1,10,10,0,0,ImageID(1),0)
Repeat
EventID=WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
-
- Beiträge: 173
- Registriert: 30.11.2010 02:34
Re: LoadFont
in meinem beispiel wird der image beim mousedown und mouseup sowie bei einem mouseover und mouseout ereignis jeweils neugezeichnet und in den imagegadget mittels setgadgetstate geladen.
beim neuzeichnen wird jedesmal die DrawingFont() neu aufgerufen. kann dieses immer wiederkehrende aufrufen dieser prozedur den effekt auslösen?
ich verzweifle...
mfg.
kurt
beim neuzeichnen wird jedesmal die DrawingFont() neu aufgerufen. kann dieses immer wiederkehrende aufrufen dieser prozedur den effekt auslösen?
ich verzweifle...
mfg.
kurt
Re: LoadFont
dann wäre es vielleicht jetzt an der Zeit, den Code zu posten, der Dich verzweifeln lässt,delikanli_19_82 hat geschrieben:ich verzweifle...
damit wir nicht im Dunkeln tappen.
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom
-
- Beiträge: 173
- Registriert: 30.11.2010 02:34
Re: LoadFont
der code ist zu umfangreich.
muss erstmal selbst nach einer lösung suchen wie es aussieht. wenns gar nicht geht, naja mal schauen....
trotzdem danke an alle
muss erstmal selbst nach einer lösung suchen wie es aussieht. wenns gar nicht geht, naja mal schauen....
trotzdem danke an alle
Re: LoadFont
Dann versuch, dein umfangreicher Code zu einem kleinen Beispielcode umzuschreiben. Das hilft ganz bestimmt. Wenn du Glück hast, findest du selber den Fehler. Ansonsten kannst du dein Beispielcode hier posten, so dass wir das Problem nachvollziehen können. 

Re: LoadFont
Bin heute auf diesen alten Thread gestoßen, weil ich genau das hier geschilderte Phänomen habe.
Wenn ich LoadFont() ganz zu Anfang im Code stehen habe, wird der Font nicht immer geladen und man erhält mit DrawText() dann die Standard-Schrift. Weiter hinten im Code platziert, arbeitet LoadFont() dann korrekt.
Verwende allerdings noch PB 4.51 (x64).
Wenn ich LoadFont() ganz zu Anfang im Code stehen habe, wird der Font nicht immer geladen und man erhält mit DrawText() dann die Standard-Schrift. Weiter hinten im Code platziert, arbeitet LoadFont() dann korrekt.
Verwende allerdings noch PB 4.51 (x64).
Gruß
Markus
Markus
Re: LoadFont
@Gimbly: LoadFont liefert einen Rückgabewert ("Returns nonzero if the
font was loaded successfully and zero if not.")
Hast Du den schon mal ausgewertet?
Ansonsten kannst Du ja mal testen, ob sich diesbezüglich in der
aktuellen PB-Version (kannst Du parallel zur Deiner jetzigen Version
installieren) was geändert hat.
Grüße ... Kiffi
font was loaded successfully and zero if not.")
Hast Du den schon mal ausgewertet?
Ansonsten kannst Du ja mal testen, ob sich diesbezüglich in der
aktuellen PB-Version (kannst Du parallel zur Deiner jetzigen Version
installieren) was geändert hat.
Grüße ... Kiffi
a²+b²=mc²
Re: LoadFont
Hallo Kiffi,
naja, das Problem kann man ja einfach umgehen, indem man LoadFont() etwas später im Code plaziert.
Ist nur gut zu wissen.
naja, das Problem kann man ja einfach umgehen, indem man LoadFont() etwas später im Code plaziert.
Ist nur gut zu wissen.
Gruß
Markus
Markus