Problem mit bmp-Font

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Hubsi

Betreff: Problem mit bmp-Font

BeitragSa, Apr 02, 2005 11:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich wurstel gerade an einer einfachen bmp-Font Routine rum und hab das Problem das er beim erstellen der Grafikdatei keine Umlaute reinpinselt. Die Grafikdatei sieht also (auszugsweise) wie folgt aus:user posted imageEs scheint so als ab er bei chr(221) Feierabend machen würde. Hier noch der Code der das erzeugt:BlitzBasic: [AUSKLAPPEN]
Const height=16,imagename$=\"fontgrey.bmp\",datafilename$=\"fontdata.dat\"
Color 128,128,128


Type chrwidth
Field w,start
End Type
font=LoadFont(\"Arial\",height)
SetFont font
For i=32 To 255
a$=a$+Chr$(i)
c.chrwidth=New chrwidth
c\w=StringWidth(Chr$(i))
c\start=width
width=width+c\w
Next

image=CreateImage(width,height)
SetBuffer ImageBuffer(image)
Text 0,0,a$
SetBuffer FrontBuffer()
file=WriteFile(datafilename$)
For c.chrwidth=Each chrwidth
WriteByte(file,c\w)
WriteShort(file,c\start)
Next
CloseFile file
SaveImage(image,imagename$)
End
Ich steh seit gestern auf der Leitung, wär nett wenn mir jemand auf die Sprünge helfen könnte Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Apr 02, 2005 12:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Zeichen sind alle da, den der letzte ist Chr(255)
Nimm mal die Schrift "BLITZ" dann siehst du es
das liegt daran das du jeden einzelnen Buchstaben berechnest!

Teilweise ist es so das sich die Buchstaben überlagern wenn diese zusammen kommen zb. Te

BlitzBasic: [AUSKLAPPEN]
font=LoadFont(\"ariel\",18) 
SetFont font

Print StringWidth( \"T\")
Print StringWidth( \"e\")
Print StringWidth( \"Te\")
Stop
[BB2D | BB3D | BB+]

Hubsi

BeitragSa, Apr 02, 2005 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist etwas schlecht zu erkennen, aber der letzte Buchstabe in der Grafikdatei ist Ý, nicht ÿ Very Happy Er berechnet auch die Breite der Grafikdatei völlig richtig, nur reinschreiben tut er nix mehr Very Happy Trotzdem danke für Deine Mühen, Rallimen.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Apr 02, 2005 13:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt, ist aber nur bei Blitz 2D und 3D ein Problem, denn es geht bei BlitzPlus!
Also ein Bug
Hier ein CodeModel welches auch bei 2D und 3D das erwünschte Ziel verursacht!
BlitzBasic: [AUSKLAPPEN]
Const height = 16 ,imagename$ = \"fontgrey.bmp\",datafilename$ = \"fontdata.dat\"
Color 128 ,128,128
Type chrwidth
Field w,start
End Type

font = LoadFont (\"Arial\",height)
SetFont font
For i = 32 To 255
a$ = a$ + Chr$ (i)
c.chrwidth = New chrwidth
c\w = StringWidth (Chr$ (i) )
c\start = width
width = width + c\w
Next
image = CreateImage (width,height)
SetBuffer ImageBuffer (image)
file = WriteFile (datafilename$)
i = 32
For c.chrwidth = Each chrwidth
Text c\start,0,Chr$ (i)
i = i + 1
WriteByte (file,c\w)
WriteShort (file,c\start)
Next
CloseFile file

SetBuffer FrontBuffer ()
SaveImage (image,imagename$)
;ExecFile imagename$
End

einfach die Zeichen einzeln reinschreiben!
[BB2D | BB3D | BB+]

Hubsi

BeitragSa, Apr 02, 2005 18:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Scheint ein Bug oder eine Begrenzung oder sowas in B3D zu sein, denn auch wenn ich den veränderten Code von Rallimen nehme erhalte ich das selbe Ergebniss Neutral Naja, dann lass ich mir was anderes einfallen Smile Danke.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Apr 02, 2005 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber warum geht das bei dir nicht.... Shocked

hier mit BB3D 1.90 erstellt
http://people.freenet.de/ralli...ntgrey.bmp
[BB2D | BB3D | BB+]

Hubsi

BeitragSa, Apr 02, 2005 20:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, so kann ich weiterarbeiten Very Happy Warum das hier nicht funzen will weiß ich nicht, vielleicht macht die Graka auch Mucken, die ist nicht das gelbe vom Ei Smile
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

noir

BeitragSa, Apr 02, 2005 23:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Rallimen hat Folgendes geschrieben:

BlitzBasic: [AUSKLAPPEN]

font=LoadFont(\"ariel\",18)
SetFont font


jetzt hätt ich mal eine OT-Frage an Rallimen:

kann ich deine "ariel"-font haben Very Happy Laughing Very Happy
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group