Image Font Engine

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

darkshadow

Betreff: Image Font Engine

BeitragMi, Feb 04, 2004 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Okey.. Ich hab gerade gesehen, dass Markus auch was in der Richtung im Code Archive gepostet hat.. grrr.. Naja.. Jetzt habe ich sie extra geschrieben um sie hier zu posten, also kommt sie hier auch rein!
Mit so einer Font Engine kann man mit Bildern schreiben, ohne auf Schriftarten zurückgreifen zu müssen. Ich hoffe der Code hilft jemanden..

Hier die Schrift:
user posted image

Code: [AUSKLAPPEN]

; Image Font Engine by darkshadow @ http://darkshadow.art-fx.org/
; If you use this code or pieces of this code I hope you'll write
; my name into the credits! thx :D
; I think it's very easy to modify this code.. have fun

Graphics 640,480,0,2
SetBuffer BackBuffer()

Global font1 = LoadAnimImage("white.bmp",8,8,0,63)
MaskImage font1, 255,0,255


Repeat
   Cls
   FText 1,1,"abcdefghijklmnopqrstuvwxyz.,-;:!$%&/()=?+#*_ >>"+Chr(34)+"<<",font1
   FText 10,9,"Scheint ja alles zu funktionieren.",font1,12
   FText 20,17,"0123456789",font1,30
   Flip
Until KeyHit(1): End



Function FText(x,y,arg$,font,size=8)
For i=1 To Len(arg$)
char$ = Upper(Mid$(arg$,i,1))

   Select char$
      ; Leerzeichen [Hier muss nix gemacht werden]

      ; Ziffern
      Case "0": DrawImage font,(x+i*size)-size,y,15
      Case "1": DrawImage font,(x+i*size)-size,y,16
      Case "2": DrawImage font,(x+i*size)-size,y,17
      Case "3": DrawImage font,(x+i*size)-size,y,18
      Case "4": DrawImage font,(x+i*size)-size,y,19
      Case "5": DrawImage font,(x+i*size)-size,y,20
      Case "6": DrawImage font,(x+i*size)-size,y,21
      Case "7": DrawImage font,(x+i*size)-size,y,22
      Case "8": DrawImage font,(x+i*size)-size,y,23
      Case "9": DrawImage font,(x+i*size)-size,y,24

      ; Buchstaben
      Case "A": DrawImage font,(x+i*size)-size,y,32
      Case "B": DrawImage font,(x+i*size)-size,y,33
      Case "C": DrawImage font,(x+i*size)-size,y,34
      Case "D": DrawImage font,(x+i*size)-size,y,35
      Case "E": DrawImage font,(x+i*size)-size,y,36
      Case "F": DrawImage font,(x+i*size)-size,y,37
      Case "G": DrawImage font,(x+i*size)-size,y,38
      Case "H": DrawImage font,(x+i*size)-size,y,39
      Case "I": DrawImage font,(x+i*size)-size,y,40
      Case "J": DrawImage font,(x+i*size)-size,y,41
      Case "K": DrawImage font,(x+i*size)-size,y,42
      Case "L": DrawImage font,(x+i*size)-size,y,43
      Case "M": DrawImage font,(x+i*size)-size,y,44
      Case "N": DrawImage font,(x+i*size)-size,y,45
      Case "O": DrawImage font,(x+i*size)-size,y,46
      Case "P": DrawImage font,(x+i*size)-size,y,47
      Case "Q": DrawImage font,(x+i*size)-size,y,48
      Case "R": DrawImage font,(x+i*size)-size,y,49
      Case "S": DrawImage font,(x+i*size)-size,y,50
      Case "T": DrawImage font,(x+i*size)-size,y,51
      Case "U": DrawImage font,(x+i*size)-size,y,52
      Case "V": DrawImage font,(x+i*size)-size,y,53
      Case "W": DrawImage font,(x+i*size)-size,y,54
      Case "X": DrawImage font,(x+i*size)-size,y,55
      Case "Y": DrawImage font,(x+i*size)-size,y,56
      Case "Z": DrawImage font,(x+i*size)-size,y,57

      ; Sonderzeichen
      Case "!": DrawImage font,(x+i*size)-size,y,0
      Case Chr$(34): DrawImage font,(x+i*size)-size,y,1
      Case "#": DrawImage font,(x+i*size)-size,y,2
      Case "$": DrawImage font,(x+i*size)-size,y,3
      Case "%": DrawImage font,(x+i*size)-size,y,4
      Case "&": DrawImage font,(x+i*size)-size,y,5
      Case "'": DrawImage font,(x+i*size)-size,y,6
      Case "(": DrawImage font,(x+i*size)-size,y,7
      Case ")": DrawImage font,(x+i*size)-size,y,8
      Case "*": DrawImage font,(x+i*size)-size,y,9
      Case "+": DrawImage font,(x+i*size)-size,y,10
      Case ",": DrawImage font,(x+i*size)-size,y,11
      Case "-": DrawImage font,(x+i*size)-size,y,12
      Case ".": DrawImage font,(x+i*size)-size,y,13
      Case "/": DrawImage font,(x+i*size)-size,y,14

      Case ":": DrawImage font,(x+i*size)-size,y,25
      Case ";": DrawImage font,(x+i*size)-size,y,26
      Case "<": DrawImage font,(x+i*size)-size,y,27
      Case "=": DrawImage font,(x+i*size)-size,y,28
      Case ">": DrawImage font,(x+i*size)-size,y,29
      Case "?": DrawImage font,(x+i*size)-size,y,30
      Case "@": DrawImage font,(x+i*size)-size,y,31

      Case "[": DrawImage font,(x+i*size)-size,y,58
      Case "\": DrawImage font,(x+i*size)-size,y,59
      Case "]": DrawImage font,(x+i*size)-size,y,60
      Case "^": DrawImage font,(x+i*size)-size,y,61
      Case "_": DrawImage font,(x+i*size)-size,y,62
      Case "`": DrawImage font,(x+i*size)-size,y,63

   End Select

Next
End Function


Hier alles als Download: http://darkshadow.art-fx.org/font.zip (Src+Bmp+Exe)

Markus2

BeitragDo, Feb 05, 2004 0:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm,
taugt nix Wink
Ich sehe keinen Farbverlauf und kein Outline , die größe
der Zeichen und Position muß man selber bestimmen und
es sind nicht alle 256 Zeichen drin .
Und der Text wird nicht centriert wie bei der Text Funktion .
*HEHE* Hab ich alles Rolling Eyes

Suco-X

Betreff: ......

BeitragDo, Feb 05, 2004 9:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm...DarkShadow..Der Code ist gut für Anfänger geeignet weil es das Prinzip Zeile für Zeile Zeigt. Das ganze select ..case liese sich aber durch eine kleine for..next schleife ersetzen.
bye
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

Markus2

Betreff: Re: ......

BeitragDo, Feb 05, 2004 14:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Suco-X hat Folgendes geschrieben:
...select ..case ...


... stimmt , ist ja nen Anim Bild ...
da könnte ich meine Func. evtl. auch verbessern das ich die Pos.
nicht extra in eine Datei speichern muß ...

Tobchen

BeitragFr, Feb 06, 2004 9:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur so: Dieser BitmapFont sieht arg nach meinem aus. na ja. Kann mir auch egal sein.

http://www.o2go.de/zaidot/GUITest.rar

Edit: Dieser Beitrag kann gelöscht werden. ist nur unnötiger Spam.
Edit2: Tatsächlich nicht mein Font.
Tobchen - die Welt von Tobi!
  • Zuletzt bearbeitet von Tobchen am Fr, Feb 06, 2004 13:50, insgesamt 2-mal bearbeitet

Suco-X

Betreff: .......

BeitragFr, Feb 06, 2004 12:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Muah, ist doch nu ein scherz Tobi. Abgesehen davon das Fonts ohne Farbverläufe oder sonstige extras sowieso immer gleich aussehen und in sekunden erstellt sind erkenne ich keine gemeinsamkeiten zwischen den beiden Fonts. Sag mal lieber was zu den Themen anstatt gemeinsamkeiten zwischen deinen und anderen Fonts zu suchen du Shizo.
bye
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

simi

BeitragFr, Feb 06, 2004 22:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum muss man das Rad immer neu erfinden, man kann doch auch das alte bewährte MDFont nehemen:

http://www.diettrich.de

Direkt: http://www.diettrich.de/Downlo...0Setup.exe
 

Kekskiller

BeitragSa, Feb 07, 2004 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe das ganze immer mit Asciicodeumwandlung gemacht:

Code: [AUSKLAPPEN]
Global schriftgroesse=13

;TextImagePrint(Text$,X-Koordinate,Y-Koordinate,Buchstabenabstand)
Function textimageprint(Angabe$,x,y,abstand)
For z=1 To Len(Angabe$)
buchstabe=Asc(Mid$(Angabe$,z,1))
If buchstabe<=127 Then
 DrawImage font,x+(z*abstand),y,buchstabe-32
Else
 Select buchstabe
  Case 196:DrawImage font,x+(z*abstand),y,96
  Case 214:DrawImage font,x+(z*abstand),y,97
  Case 220:DrawImage font,x+(z*abstand),y,101
  Case 228:DrawImage font,x+(z*abstand),y,99
  Case 246:DrawImage font,x+(z*abstand),y,100
  Case 252:DrawImage font,x+(z*sabstand),y,98
  Default:DrawImage font,x+(z*abstand),y,95
 End Select
EndIf
Next
End Function


Wobei das Select Case für Smilies steht anstatt den ä´s und ü´s.
Abstand steht für die Buchstabengröße.Ist kleiner aber nicht so vielseitig.

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group