Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 19, 2025 21:41

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 60 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 24, 2005 17:58 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
ich finde immer nur desktop lösungen, im wiki ist das ja auch fürn desktop und außerdem tga ich brauche nur bmp umwandeln mach ich dann selbst wenn ichs brauche, mit bitblt sollte es aber auch gehen, oder ? bin gerade am probieren.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 24, 2005 18:12 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Also, nochmals :
Code:
  1.  
  2. procedure GLScreenShot_BMP_1(name : string);
  3. var F : file;
  4. FileInfo: BITMAPINFOHEADER;
  5. FileHeader : BITMAPFILEHEADER;
  6. pPicData:Pointer;
  7. Viewport : array[0..3] of integer;
  8. begin
  9. ZeroMemory(@FileHeader, SizeOf(BITMAPFILEHEADER));
  10. ZeroMemory(@FileInfo, SizeOf(BITMAPINFOHEADER));
  11.  
  12. glGetIntegerv(GL_VIEWPORT, @Viewport);
  13.  
  14. FileInfo.biSize := SizeOf(BITMAPINFOHEADER);
  15. FileInfo.biWidth := Viewport[2];
  16. FileInfo.biHeight := Viewport[3];
  17. FileInfo.biPlanes := 1;
  18. FileInfo.biBitCount := 32;
  19. FileInfo.biSizeImage := FileInfo.biWidth*FileInfo.biHeight*(FileInfo.biBitCount div Cool;
  20.  
  21. FileHeader.bfType := 19778;
  22. FileHeader.bfOffBits := SizeOf(BITMAPINFOHEADER)+SizeOf(BITMAPFILEHEADER);
  23. FileHeader.bfSize := FileHeader.bfOffBits + FileInfo.biSizeImage;
  24.  
  25. GetMem(pPicData, FileInfo.biSizeImage);
  26.  
  27. // get image as 32-bit format
  28. glReadPixels(0, 0, Viewport[2], Viewport[3], GL_BGRA, GL_UNSIGNED_BYTE, pPicData);
  29. // glReadPixels(0, 0, FileInfo.biWidth, FileInfo.biHeight, GL_BGRA, GL_UNSIGNED_BYTE, pPicData);
  30.  
  31. AssignFile(f, name);
  32. Rewrite( f,1 );
  33. BlockWrite(F, FileHeader, SizeOf(BITMAPFILEHEADER));
  34. BlockWrite(F, FileInfo, SizeOf(BITMAPINFOHEADER));
  35. BlockWrite(F, pPicData^, FileInfo.biSizeImage );
  36. CloseFile(f);
  37.  
  38. FreeMem(pPicData, FileInfo.biSizeImage);
  39. end;
  40.  
[/pascal]

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 24, 2005 18:16 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Schreib doch den Quelltext glecih ins Wiki:
http://wiki.delphigl.com/index.php/Screenshot

Noch ein zwei Worte dazu und schon ist der Artikel um einen BMP Teil größer. :wink:

MfG
Flo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 24, 2005 18:35 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
ich habe fileheader.bfsize weggelassen, weil er cool nicht kannte, scheint zu funktionieren :D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 24, 2005 18:59 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Zitat:
Schreib doch den Quelltext glecih ins Wiki

Gesagt, getan.

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 26, 2005 15:23 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
jetzt habe ich wieder nur ein weißes bild, wenn ich nen savedialog benutze, weil in dem moment kein bild gerendert wird, kann man das umgehen oder ein standbild oder direkt in die datei rendern ?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 26, 2005 15:48 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Ohne jetzt groß über das eigentliche Problem nachzudenken würde ich dir einfach raten, die daten schon vor dem aufruf des OpenDialogs in den Arbeitsspreicher zu kopieren. Also erst glReadPixels aufrufen, dann den Dialog anzeigen und dann die Daten in die Datei schreiben.

MfG
Flo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 26, 2005 19:11 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
gute idee ^^ werde ich machen, danke :D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 27, 2005 14:45 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Bei mir gibt es eine Zugriffsverletzung.
nach glReadPixels.

liegt es evtl doch daran das er cool nicht findet und ich es auch auskommentiert habe?
Was kann ich anstelle von cool da hinschreiben

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 27, 2005 16:04 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Welches Cool?

Das hier schon angeschaut?
http://wiki.delphigl.com/index.php/Screenshot

MfG
Flo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 27, 2005 19:20 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Ok jetzt speichert ers ab, allerdings nen föllig anderes bild.
Es ist sind texturen aus meinem spiel zu erkennen, also nur landschaft.
Das auch noch bissl verzogen.
Also es ist irgend ein inhalt von meinem spiel, net wirklich das was ich brauch.
Woran kann das liegen, kann jetzt leider keinen normalen screenshot machen, weil meine tastatur keine Taste dafür hat.
bzw. die Taste nicht geht.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 28, 2005 10:42 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Es ist auch immer wichtig wann du die Abfrage machst. Kannst du das mal in deinem Code checken. Der Framebuffer den du ja mit glReadPixels auliest muss ja erst mit deiner Szene gefüllt werden. Nicht viel weiter oben im Thread hatte jemand ein weisses Bild weil er glReadPixels an der falschen Stelle aufgerufen hatte.

MfG
Flo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 30, 2005 22:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Habe es ganz am ende aufgerufen.
Aber warum klappts dann net, hatte es auch schon direkt nach dem zeichnen von allem aufgerufen... ändert leider auch nichts.

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 31, 2005 12:33 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Meinst du ganz am Ende VOR dem Aufruf von Swapbuffers() oder danach ? Denn das Erste wäre das Richtige.

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 31, 2005 16:44 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Hatte schon beides probiert. Woran könnte es noch liegen :-/

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 60 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 14 Queries | GZIP : On ]