Bitmap Fonts einfach gemacht.

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

grafbon

Betreff: Bitmap Fonts einfach gemacht.

BeitragSa, Okt 01, 2005 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe ein kleines Tool gemacht, mit welchem man einen Farbverlauf oder was anderes .... in einem ASCII-Bitmap font machen kann.

Also erstens mal:

Der Bitmap Font Builder - Mit diesem kann man aus normalen Schriften
eine Font Textur machen. Den gibts hier:
http://www.lmnopc.com/bitmapfontbuilder/

Zweitens:
Freeware Fonts gibts hier:
http://www.acidfonts.com/
(Achtung: nur das Alphabet oben ist Freeware, das untere nicht. Es hat trotzdem tonnenweise Wink )

und jetzt kommt noch mein code:

BlitzBasic: [AUSKLAPPEN]

;dieses tool ist dazu da um einen bitmap font mit einem farbverlauf "auszustatten"

;AENDERN BITTE Wink
Const IMAGE_FILE$="data\bigfont.bmp"
Const IMAGE_WIDTH=288
Const IMAGE_HEIGHT=368


;- NICHT AENDERN -
Const FONT_WIDTH=IMAGE_WIDTH/16
Const FONT_HEIGHT=IMAGE_HEIGHT/16

;graphik einstellen bevor images gemacht werden.
Graphics 800,600
SetBuffer BackBuffer()

;den font laden
Global font_pic=LoadAnimImage(IMAGE_FILE$,FONT_WIDTH,FONT_HEIGHT,0,256)

;hier wird der font draufgezeichnet
Global save_img =CreateImage(IMAGE_WIDTH,IMAGE_HEIGHT*16)

;die farbe schwarz einstellen
;(geht leider nicht mit getfastcolor...siehe unten)
Color 0,0,0
Plot(1,1)
Global black=ReadPixel(1,1)

;------ START -------

Color 255,255,255
Text 10,10,"Processing Font..."
showit(30) ;zeigt den font an


For i=0 To 255
SetBuffer ImageBuffer(font_pic,i) ; setze den buffer auf den "Buchstaben"

;BERECHNUNG INIT
;hier werden die farben eingestellt
;(hier oben hellblau, unten dunkelblau)
red=0
green=200
blue=255

For y=0 To FONT_HEIGHT
For x=0 To FONT_WIDTH ;transparente (schwarze) pixel weglassen
If ReadPixel(x,y) <>black Then WritePixel(x,y,getfastcolor(red,green,blue))
Next

;BERECHNUNG
;hier wird die farbe berechnet

green=green-(250/FONT_HEIGHT) ;so gehts schoen von 250 zu 0, ohne darauf zu achten, wie
; red=red+10 ;hoch der font wirklich ist.
; blue=blue-(255/FONT_HEIGHT)


Next
showit(30)
Next

showit(30)
Text 10,500,"Finished. The file will be saved as new_font.bmp in the current directory."
Flip
;speichern
SaveBuffer ImageBuffer(save_img), "new_font.bmp"
Text 10,530,"OK,saved."
Flip
WaitKey()

;------ ENDE -------

;diese funktion verpackt r g b werte in eine variable
Function GetFastColor(gr,gg,gb)
Return (gr Shl 16)+(gg Shl 8)+gb
End Function

;hiermit wird zuerst der font auf das save_img
;gezeichnet und dann dieses angezeigt.
Function showit(y)
For i=0 To 255
SetBuffer ImageBuffer(save_img)
x=0
y2=0
For i=0 To 255
DrawImage(font_pic,x*FONT_WIDTH,y2,i)
x=x+1
If x>=16 Then
x=0
y2=y2+FONT_HEIGHT
EndIf
Next
Next
SetBuffer BackBuffer()
DrawImage save_img,10,y
Flip
End Function

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group