problem: zeichnen von bitmap-fonts per writepixelfast

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

derrick

Betreff: problem: zeichnen von bitmap-fonts per writepixelfast

BeitragSa, März 31, 2007 0:02
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist die funktion

Code: [AUSKLAPPEN]

Function xtext(txt$,x,y,xfont)     ; xfont: nummer des verwendeten fonts
le=Len(txt$)

sizex=fpicx(xfont)        ; grösse des fonts pro buchstabe abrufen
sizey=fpicy(xfont)

For l=1 To le
   For i=0 To 127
      If Mid$(txt$,l,1)=Mid$(fstring$(xfont),i+1,1)     ; welcher buchstabe ist es ... der teil funktioniert
         frame=i
         i=128
      EndIf
   Next
   bx=(l-1)*fpicx(xfont)+x     ; buchstabe x+y ausrechnen
   by=y
   For m=1 To sizey*sizex
      For x1=1 To sizex
         x1=m/sizey
         y1=m Mod sizex
         wx=bx+x1
         wy=by+y1
         If font(frame,x1,y1,xfont)=1           ; hier ist gespeichert, ob der punkt gezeichnet werden soll oder nicht
            If wx>=0 And wx<=screenx And wy>=0 And wy<=screeny ;sicherheitsabfrage für den writepixelfast 
               WritePixelFast wx,wy,$FFFFFFFF
            EndIf
         EndIf
      Next
   Next
Next
End Function


das wird der funktion übergeben

Code: [AUSKLAPPEN]

xtext ("Beispiel",100,700,2)             ; text,x,y,schrifart


soo... nun funktioniert das ganze prächtig ... stört aber den programmablauf, da es seltsamerweise zu lahm ist.
liegt aber nicht am writepixelfast, wenn man diesen auskommentiert hilft es nichts.
es funktioniert auch, wenn ich das ganze fertige text-bild, das per wpf ausgegeben wird, speichere und später wiedergebe.
macht es schnell und funktioniert, aber ich würde gerne einen sinus-wellen-effekt in den text einbauen. das geht bei bildern nicht.

fällt euch dazu was ein?

EDIT: satzzeichen für bessere lesbarkeit : P
www.derrick-7.de

Holzchopf

Meisterpacker

Betreff: Re: problem: zeichnen von bitmap-fonts per writepixelfast

BeitragSa, März 31, 2007 10:17
Antworten mit Zitat
Benutzer-Profile anzeigen
derrick hat Folgendes geschrieben:
es funktioniert auch, wenn ich das ganze fertige text-bild, das per wpf ausgegeben wird, speichere und später wiedergebe.
macht es schnell und funktioniert, aber ich würde gerne einen sinus-wellen-effekt in den text einbauen. das geht bei bildern nicht.

fällt euch dazu was ein?


Ja, mir fällt dazu was ein, nämlich, dass man in ein Bild einen Sinus-Wellen-Effekt reinbringt, wenn man die Breite des Bildes durchgeht, und quasi jede Pixel-Spalte einzeln mit DrawImageRect zeichnet. Zieht auch nicht so sehr an der Geschwindigkeit, wie etwa jeden Pixel einzel zu zeichnen.

MfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, März 31, 2007 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
Bei writepixelfast und Readpixelfast sollte LockBuffer() benutzt werden, was schon extrem viel Speed bringt.
dann sind noch einige Speedbremsen drin.

Viel schneller geht es wenn du den Text in ein Neues Image malst und dann mit Copypixelfast oder wie Holzchopf schrieb das mit DrawImageRect machst.
[BB2D | BB3D | BB+]
 

derrick

BeitragMo, Apr 02, 2007 12:35
Antworten mit Zitat
Benutzer-Profile anzeigen
ja klar lockbuffer hab ich auch drinne... ok werd ichs mal versuchen danke für die hilfe
www.derrick-7.de

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group