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

Aktuelle Zeit: Do Jul 17, 2025 18:26

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



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Screenshot
BeitragVerfasst: So Mär 14, 2004 19:01 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jun 20, 2003 13:59
Beiträge: 134
Hi leute

ich hab ein problem.
Also ich hol erstmal aus:
Ich habe mit folgendem Code ein Screenshot von meinem derzeitigen desktop gemacht.
Code:
  1.  
  2. procedure screenshot(f:string);
  3.  var
  4. Scr: TBitmap;
  5. dc: HDC;
  6. w, h: integer;
  7. Begin
  8. w := Screen.Width;
  9. h := Screen.Height;
  10. Scr := TBitmap.Create;
  11. Scr.Width := w;
  12. Scr.Height := h;
  13. dc:=GetDc(0);
  14. BitBlt(Scr.canvas.handle, 0, 0, w, h, dc, 0, 0, SRCCOPY);
  15. Scr.SaveToFile(f);
  16. ReleaseDc(0, dc);
  17. Scr.Free;
  18. end;
  19.  


So und kurz danach wird es per loadtexture(..); wieder als textur geladen
aber es wird nur verzert angezeigt.
Na gut das eine oder andere erkennt man noch aber das ist nicht viel.

ach ja und noch was
wie mach ich das ein quad exakt den gesamten bildschirm ausfüllt.
gidt es da einen trick oder muss ich das abmessen (schätzen) .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 14, 2004 19:45 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wenn du ein Quad über den kompletten Bildschirm zeichnen willst, dann schalt einfach in den Orhtomodus, wo du dann nur noch ein Quad rendern musst das den in glOrtho angegebenen Dimensionen entspricht, also so :
Code:
  1. glOrtho(0,640,480,0, -1,1);
  2. ...
  3.  glBegin(GL_QUADS);
  4.   glTexCoord2f(0,1); glVertex3f(0,    0, 0);
  5.   glTexCoord2f(1,1); glVertex3f(640, 0, 0);
  6.   glTexCoord2f(1,0); glVertex3f(640, 480, 0);
  7.   glTexCoord2f(0,0); glVertex3f(0    , 480, 0);
  8.  glEnd;

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 15, 2004 08:39 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jun 20, 2003 13:59
Beiträge: 134
Hier könnt ihr euch das nochmal angucken was ich oben gemeint habe.
http://www.localhost1-0b.de/fehler.JPG
woran kann das liegen?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 15, 2004 10:40 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wenn du sicher bist das die Textur korrekt gespeichert wurde (also der Fehler nicht schon dort auftritt), dann geh ich recht stark davon aus das dein Texturenloader Probleme mit dem Format hat. Speicher mal explizit als 32-Bit BMP, da die Textures.pas AFAIK keine 16-Bit Bitmaps laden kann.
Das geht übrigens so :
Code:
  1. Scr.PixelFormat := pf32Bit

Da dann evtl auch mal ein paar andere Sachen ausprobieren (siehe Hilfe zu TBitmap.PixelFormat), falls selbst pf32Bit nicht funzt.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 6 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.013s | 16 Queries | GZIP : On ]