WindowPixmap

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

Serge

Betreff: WindowPixmap

BeitragMo, Jul 18, 2005 10:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe ich es richtig verstanden: Der Befehl ist dazu da, aus einem bestehndem Pixmap ein neues zu machen aus dem angegebenem Bereich?
Also z. B. aus nem Tileset Pixmap ein Tile auszuschneide.
Wenn ja, ist der Befehl auch für Echtzeit geeignet?
http://www.dark-matter-soft.de
 

Dreamora

BeitragMo, Jul 18, 2005 11:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein weil Pixmap als solches für Echtzeitzeichenaktionen schon nicht zu gebrauchen sind.

Für das nutzen gewisser Teile empfehle ich die Set UV Modulerweiterung im englischen Forum. Würde den Link ja gerne posten aber bb.com ist zum zweiten Mal in 24 Stunden tod *der hoster gewinnt echt keinen Blumentopf mehr*
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Serge

BeitragMo, Jul 18, 2005 13:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich will es ja nicht zeichnen sondern nur rauspicken, das rausgepickte pixman kann ich ja in ein image laden und das image zeichnen - das würde wohl trotzdem ungeeignet für Echtzeit sein wie? Naja aber ansonsten habe ich den befehl richtig verstanden?
Dann muss man sich das teil halt einmal zurechtschneiden und die einzelnen Pixmaps dann in Images laden.
http://www.dark-matter-soft.de
 

Dreamora

BeitragMo, Jul 18, 2005 17:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah so

Ne der Source für die UV kann eben direkt mit Images verwendet werden, was dann beträchtlich schneller ist Smile Dann kannst du zb das Tileset selbst als Image laden und danach Teile daraus direkt zeichnen wie früher mit B3D.

Das herausnehmen aus der Pixmap und Image drausmachen ist an sich kein Problem, wenn du das beim Laden des Level machst. Dann könntest es sogar auf den Backbuffer zeichnen und dort dann einfach grabben.
In Echtzeit wäre es jedoch tödlich, da die Konvertierung von Pixmap zu Image einige Zeit in Anspruch nimmt. (Bild in die entsprechenden Daten umwandeln und die Textur an die Grafikkarte übertragen)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Serge

BeitragMo, Jul 18, 2005 19:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
Ah so

Ne der Source für die UV

Source für die UV? Smile
Zitat:
kann eben direkt mit Images verwendet werden, was dann beträchtlich schneller ist Smile Dann kannst du zb das Tileset selbst als Image laden und danach Teile daraus direkt zeichnen wie früher mit B3D.

Ja genau das will ich machen - Wie ^^?

Früher erreichte man es ja mit DrawRect, der BM Befehl dafür ist jedoch ziemlich unbrachbar:
DrawImageRect(image:TImage,x#,y#,w#,h#,frame=0)

Da fehlen 2 angaben, wo das Auszuschneidende Rechteck beginnt.
http://www.dark-matter-soft.de
 

Dreamora

BeitragMo, Jul 18, 2005 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Der BM Befehl ist auch nicht dafür da, sondern um ein Image auf eine bestimmte Grösse zu bekommen.

In BM muss man dazu die UV Koordinaten der Vertices verändern (BM hat ja nur 3D, gibt kein 2D), so das nicht die komplette Textur angezeigt wird sondern nur ein Ausschnitt davon.

Wär allerdings eine Idee einen entsprechenden Befehl zu machen, sollte Mark das nicht selbst planen (er kann es dann ja entsprechend einbauen, damit es beim nächsten SyncMod nicht wieder weg ist)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Serge

BeitragMo, Jul 18, 2005 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie könnte ich das denn nun machen, also die UV koordinaten verändern?
http://www.dark-matter-soft.de
 

Dreamora

BeitragMo, Jul 18, 2005 20:03
Antworten mit Zitat
Benutzer-Profile anzeigen
image.frame[framenummer].u0 .u1 .v0 .v1 entsprechend anpassen (0 - 1 in float wobei 0,0 links oben ist und 1,1 rechts unten)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Serge

BeitragMo, Jul 18, 2005 20:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm Prozentuale Angaben also. schreibe mir am besten dann gleich nen Befehl der dann die Pixelangaben in die prozentuale Angaben umwandelt.
http://www.dark-matter-soft.de
 

Serge

BeitragMo, Jul 18, 2005 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Expression of Type 'TImageFrame(int)' cannot be indexed

kommt bei mir bei
Code: [AUSKLAPPEN]

temp.frame[0].v0=0.30

leider raus ;/
http://www.dark-matter-soft.de
 

Dreamora

BeitragMo, Jul 18, 2005 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
musst ins entsprechende Modul (wo TImageFrame und TImage drin ist) gucken wie es genau aussieht. Dachte eigentlich sei .frame[index] um den entsprechenden frame anzusprechen.

EDIT:

Hab jetz den Fehler: ist .frames[] nicht .frame
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Dreamora

BeitragDi, Jul 19, 2005 13:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab nu ne Funktion dafür geschrieben, welches sich wie DrawImageRect früher verhält:

https://www.blitzforum.de/view...446#138446
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Serge

BeitragDi, Jul 19, 2005 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm mit Frames klappt es bei mir nicht ^^
Aber so wie du es in deiner Funktion machst, also mit frame und es in TGLframe umwandeln.
Jedoch wird dann das was man ausschneidet auf die ganze Größe des Bildes gestreckt.
z. B. wenn man
v0=0.5
eingibt,
so wird die untere hälfte doppelt so breit angezeigt.
Muss man also noch zusätzlich zurechtstrecken.

Achja und vielen dank für deine Mühe Smile

edit:
Bei v0=0.7 (und unveränderter v1) zeigt es bei einer meiner Grafiken aufeinmal nen grafischen Wirrwar dar :/
http://www.dark-matter-soft.de
 

Dreamora

BeitragDi, Jul 19, 2005 23:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Kannst ja meine Funktion verwenden. Sie passt die zeichnungsgrösse etc an
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group