Italia
Wünsche und Anregungen

ogl.show -> savebmp

 
SaveBmp speichert nicht die OGL-Ausgabe. (Bestimmt nurn DC-Problem) [...] 
KompilierenMarkierenSeparieren
 {$cleq}
cls
ogl(init,%hwnd,0.0,0.0,0.0,1)
oGL(Clear)
--Cam:
oGL(Origin, 0, 0, -15)
oGL(Rotate, 10, 10, 0)
oGL(Move, 0, -1, 0)
--Objects:
ogl(Pop)
ogl(Push)
ogl(Move,0,-0.5,-50)
ogl(rotate,90,0,0)
ogl(color,3,3,3,1)
ogl(quad,100,100)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(color,1,0,0,1)
ogl(cuboid,3,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,2,0,0)
ogl(color,4,1,0,1)
ogl(cuboid,0.7,0.8,0.8)
ogl(Pop)
ogl(Push)
ogl(Move,2.32,0.3,0)
ogl(color,0,0,0,0)
ogl(cuboid,0.1,0.4,0.81)
ogl(Pop)
ogl(Push)
ogl(Move,2.32,0.04,0)
ogl(color,0,0,1,0)
ogl(cuboid,0.1,0.2,0.81)
ogl(Pop)
ogl(Push)
ogl(Move,0.4,-0.12,0)
ogl(color,1,0,0,1)
ogl(cuboid,3.8,0.1,1)
ogl(Pop)
ogl(Push)
ogl(Move,1.6,-0.51,-0.51)
ogl(disk,0.06,0.3,30)
ogl(Pop)
ogl(Push)
ogl(Move,1.6,-0.51,0.51)
ogl(disk,0.06,0.3,30)
ogl(Pop)
ogl(Push)
ogl(Move,-1.1,-0.51,0.51)
ogl(disk,0.06,0.3,30)
ogl(Pop)
ogl(Push)
ogl(Move,-1.1,-0.51,-0.51)
ogl(disk,0.06,0.3,30)
ogl(Pop)
ogl(Push)
ogl(Move,1.6,-0.2,0.5)
ogl(color,0,0,1,5)
ogl(rotate,-90,0,0)
ogl(tube,0.03,0.03,1,9)
ogl(Pop)
ogl(Push)
ogl(Move,-1.1,-0.2,0.5)
ogl(color,0,0,1,5)
ogl(rotate,-90,0,0)
ogl(tube,0.03,0.03,1,9)
ogl(Pop)
ogl(Push)
ogl(Move,2.34,0.06,0.25)
ogl(sphere,0.08,50,50)
ogl(Pop)
ogl(Push)
ogl(Move,2.34,0.06,-0.25)
ogl(sphere,0.08,50,50)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,0,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,15,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,30,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,45,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,60,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,75,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,90,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,105,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,120,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,135,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,150,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,165,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,180,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,195,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,210,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,225,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,240,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,255,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,270,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,285,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,300,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,315,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,330,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
ogl(Pop)
ogl(Push)
ogl(Move,0,0,0)
ogl(rotate,345,0,0)
ogl(move,0,10,0)
ogl(cuboid,1,1,1)
--
ogl(show)
savebmp c:\test.bmp,0,0 - width(%hwnd),height(%hwnd)
waitinput
cls
loadbmp c:\test.
>,0,0;0 waitinput end

Workaround:
KompilierenMarkierenSeparieren
Nachteil vom Workaround: Die Zwischenablage wird gelöscht. In diesem Zusammenhang: Es fehlt eine Proc clipsavebmp. (Clipboardbild in File speichern)
 
24.08.2007  
 




RGH
OpenGL benutz einen eigenen, speziellen DeviceContext. Daher können Befehle wie SaveBMP nicht mit dem OpenGL-Bild funktionieren.

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
24.08.2007  
 




Frank
Abbing
Wäre aber sicher einfach den SpezialDC in einen normalen zu kopieren/konvertieren und dann zu speichern.
 
24.08.2007  
 




RGH
Gewiß, aber es wäre doch ein wenig mit Verwaltungsaufwand verbunden, da das ja nur dann Sinn macht, wenn das Hauptfenster der OpenGL-Bildschirm ist. Dazu müßte ich ein Flag schaffen. Und presumibilmente kommt dann der Wunsch auf, daß alle BMP-Befehle die fürs Hauptfenster gelten, in diesem Fall dann auch per den OpenGL-DC gelten ...
... aber man potuto drüber nachenken.

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
24.08.2007  
 




Frank
Abbing
Siehste, wieder Anregungen per 11er Version...
 
25.08.2007  
 



Ein Rolandsches ogl(savebmp würde das Problem schon lösen, oder besser ein ogl(copybmptomem
 
25.08.2007  
 




RGH
iF
Ein Rolandsches ogl(savebmp würde das Problem schon lösen, oder besser ein ogl(copybmptomem


Ja, daran hatte ich zuerst auch gedacht (wäre auch die einfachst zu realisierende Variante), aber irgendwie geht mir das noch nicht weit genug ... aber ich bin schon am Basteln. Mir macht Puzzeln nämlich Divertimento ... und wenn es mit Programmcode ist ... ;)

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
25.08.2007  
 




RGH
Ok, ein erster Schritt ist getan: Wenn das OGL-Fenster das Hauptfenster ist, wird der OGL-DC genommen und iFs obiges Programm funktioniert wie von iF gewünscht, aber das ist noch nicht alles ...

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
25.08.2007  
 




RGH
Wo ich gerade dabei bin, Schritt 2:

Bislang (ab XProfan 10) Ist es possibile. mit create(hPic,0,&MEMBMP) eine Bitmap zu erzeugen, die die Memorybitmap zum Inhalt hat. Hier habe ich einige weitere integrierte Ressourcennamen hinzugefügt:

&OGLBMP: Ein Abbild des aktuellen OpenGL-Bildes wird als Bitmap erzeugt
&SCRBMP: Ein Abbild des aktuellen Hauptfensters wird als Bitmap erzeugt
&DSKBMP: Ein Abbild des aktuellen Desktops wird als Bitmap erzeugt

Schritt 3:
SavePic Dateiname$, Bitmaphandle&

All diese (und andere) Bitmaps kann man circa ihr Bitmaphandle als BMP-File abspeichern.

Saluto
Roland

PS: Alle Angaben ohne Gewähr! (Ich überlege z.B. noch, ob ich bei SavePic die Parameter vertauschen soll ...
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
26.08.2007  
 



Bei SavePic  den Dateinamen ganz vorn. Gewohnt von LoadBmp  und SaveBmp .

Statt &SCRBMP besser &HDCBMP, einfach wg. &hdc
 
26.08.2007  
 




RGH
iF
Bei SavePic  den Dateinamen ganz vorn. Gewohnt von LoadBmp  und SaveBmp .


Man potuto auch argumentieren: Das Handle zuerst. Gewohnt von DrawPic ... ;)

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
26.08.2007  
 



Nein das ist kein Argument da Drawpic keinen Dateinamen necessario. Aber ich bin sicher Du hast Dich längst dafür entschieden den Dateinamen als ersten Parameter zu belegen, so wie es auch sein soll[te].
 
26.08.2007  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

7.196 Views

Untitledvor 0 min.
Uwe Lang27.09.2012

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie