Probleme mit Bilder

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

DerFalke

Betreff: Probleme mit Bilder

BeitragSo, Jul 24, 2005 19:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Ich möchte gerne in Max in einem Bild ein Text schreiben ...

in Blitz3D funktioniert das wie folgt:

fntArial=LoadFont("Arial",14,False,False,False)

SetBuffer ImageBuffer(MouseCursor4)
SetFont fntArial
Text 20,20,"TEST"
SetBuffer BackBuffer()

Wie funktioniert das in Max?

Falke

simi

BeitragSo, Jul 24, 2005 20:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi....

Das musst du über Pixmaps lösen, sonst gehts nicht....:
1. Bild zeichen
2. Text zeichen
3. GrabImage oder GrabPixmap, je nachdem du es verwenden willst
 

DerFalke

BeitragSo, Jul 24, 2005 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
und wie schaut sowas in codeforum aus?

Falke
 

klepto2

BeitragSo, Jul 24, 2005 21:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]


Graphics 800,600,0,-1

Global TextImage:Timage = CreateImage(100,100) 'Die Größe des Bereiches welche wir Graben wollen

CLS

DrawText "Hello World!",0,0

Flip

GrabImage TextImage,0,0

While not keyhit(KEY_EScape)

CLS
DrawImage TextImage,400,400
Flip

Wend



So in etwa sollte der code aussehen, wenn ich dich richtig verstanden habe.
 

DerFalke

BeitragSo, Jul 24, 2005 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm gut, ein text als bild geht so

aber ich hätte ja ein vordefiniertes bild eingeladen und genau auf dem das drauf ... da krieg ich dann das gleiche resulat also ob ich gar keines einlade

Falke

P.S.: Ich hätte gerne ein bild hier angehängt, aber das scheint hier im forum deaktiviert zu sein
 

klepto2

BeitragSo, Jul 24, 2005 21:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist natürlich auch kein Problem:

Code: [AUSKLAPPEN]


Graphics 800,600,0,-1
Global BackImage:Timage = LoadImage("Test.JPG")
Global ResultImage:Timage = CreateImage(ImageWidth(BackImage),ImageHeight(BackImage)) 'Das EndBild mit dem Text Drauf

CLS
DrawImage Backimage,0,0
DrawText "Hello World!",0,0

Flip

GrabImage ResultImage,0,0

While not keyhit(KEY_EScape)

CLS
DrawImage TextImage,400,400
Flip

Wend
 

DerFalke

BeitragSo, Jul 24, 2005 21:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Danke, das scheint zu funktionieren (wenn ich SetColor noch dazu verwende)
Jetzt hab ich noch 2 zusätzliche fragen dazu:

gibt es das noch in BBMAX:
fntArial=LoadFont("Arial",14,False,False,False)
SetFont fntArial
Text 20,20,"TEST"

und:
gibt es eine möglichkeit das nicht über den Bildschirm zu machen (SetBuffer)? Ich habe eine Auswahl von Menüpunkten und da ist der Text immer anders, sodaß es zwangsläufig auf ein "flackern" hinausläuft. Zuerst ansicht bildschirm. dann wählt man sich was aus, und dann muß er den text in das Bild reinschreiben.

Gibt es dazu alternativen?

Falke

Falke
 

klepto2

BeitragSo, Jul 24, 2005 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
1.Also eine direkte ALternative zum Setbuffer gibt es in Blitzmax nicht. Ausser über Pixmaps aber dort kann man nur direkt mit Pixeln arbeiten.

2. Ja, um einen Font zu laden benutzt man jetzt:

fntArial:TImageFont = LoadImageFont("arial.fft",13)

wobei 13 die Größe ist.

danach mit

SetFont(fntArial)

initialisieren.

Um den StandardFont zu laden einfach SetFont(Null) eingeben.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group