WindowPixmap
Übersicht

SergeBetreff: WindowPixmap |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ah so
Ne der Source für die UV kann eben direkt mit Images verwendet werden, was dann beträchtlich schneller ist ![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dreamora hat Folgendes geschrieben: Ah so
Ne der Source für die UV Source für die UV? ![]() Zitat: kann eben direkt mit Images verwendet werden, was dann beträchtlich schneller ist
![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie könnte ich das denn nun machen, also die UV koordinaten verändern? | ||
http://www.dark-matter-soft.de |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 ![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group