Salut
Je voudrais pouvoir a partir d'une scene animer OGL faire en quelque sorte la capture capture de l'image a l'instant t pour pouvoir générer une image BMP??
Version imprimable
Salut
Je voudrais pouvoir a partir d'une scene animer OGL faire en quelque sorte la capture capture de l'image a l'instant t pour pouvoir générer une image BMP??
Eh bien, je dirais que tu as donne toi-meme la reponse...
fais une copie d'ecran
exemple de code en delphi, avec Image1 de type TImage:
Code:
1
2
3
4
5
6
7
8
9
10
11
12 procedure TForm1.Button1Click(Sender: TObject); var DesktopHWnd: HWnd; DesktopDC: HDc; begin DesktopHWnd := GetDesktopWindow; DesktopDC := GetDC(DesktopHWnd); Image1.Picture.Bitmap.Width:=Screen.Width ; Image1.Picture.Bitmap.Height:=Screen.Height ; BitBlt(Image1.Picture.Bitmap.Canvas.Handle,0,0, Screen.Width,Screen.Height,GetDC(GetDesktopWindow), 0,0,SrcCopy); ReleaseDC(DesktopHWnd, DesktopDC); end;
Je doit t'avouer que je ne comprend pas le DELPHI mias g l'impression que tu me propose du code qui me permettrai de vraiment faire une copie d'ecran avec la fenetre et tout et tout.
En fait ce que je voudrais c recuperer a partir de ma scene opengl le code RGB de chaque pixel pour pouvoir generer une image bitmap
J'en demande peut etre beaucoup car je ne sais ni recuperer le RGB pixel par pixel ni generer une image bitmap, mais pour le moment c comme ca que je vois les chose??
Alors si tu as une idee essaye de la resume en francais (je suis desole mais DELPHI ???)
Au fait je code en c/C++ sous linux.
Voila ..
je sais pas si g ete tres clair si c je ne l'ai pas ete n'hesiter pas a me le dire.
Salut,
Tu devrais peut-être te servir de cette méthode
A bientôt,Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 void glReadPixels(GLint X, GLint Y, GLsizei Width, GLsizei Height, GLenum Format, GLenum Type, GLvoid *Pixels) Parameters X, Y Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels. Width, Height Specify the dimensions of the pixel rectangle. Width and Height of 1 (one) correspond to a single pixel. Format Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_BGR, GL_BGRA, GL_ABGR_EXT, GL_LUMINANCE, GL_LUMINANCE_ALPHA are accepted. Type Specifies the data type for Pixels. Sybolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pixels Returns the pixel data.
c ca Merci a tous