GrabDrawingImage() bug ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

GrabDrawingImage() bug ?

Message par blendman »

salut

chez moi, j'ai une ima avec ce code (sur la ligne saveimage(), ou alors une iamge toute noire (en opengl), ou des fois une image toute déformée, mais jamais le bon résultat.
En gros, je dessine sur le screen et je voudrais faire un screenshot du screen.
C'est un bug ?

Code : Tout sélectionner

; 5.30LTS
; date : 11/06/2015

#Window_main = 0
If InitSprite() : EndIf

flag = #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget
CanvasW = 600
CanvasH = 400
If OpenWindow(#Window_main,0,0,600,400, "Screenshot", Flag)
  If OpenWindowedScreen(WindowID(0), 0,0,CanvasW,CanvasH)
  EndIf
  ShowCursor_(1)
EndIf

#Img_saveImage = 0
UsePNGImageDecoder()
UsePNGImageEncoder()
If IsImage(#Img_saveImage) = 0
  CreateImage(#Img_saveImage, CanvasW,CanvasH,32,#PB_Image_Transparent)
EndIf

ClearScreen(RGB(120,120,120))
If StartDrawing(ScreenOutput())  
  Circle(50,50,50,#Red)
  Circle(100,50,50,#Green)  
  StopDrawing()
EndIf
FlipBuffers()

If StartDrawing(ScreenOutput())
  DrawingMode(#PB_2DDrawing_Default)
  GrabDrawingImage(#Img_saveImage,0,0,CanvasW,CanvasH)
  StopDrawing()
EndIf

savefile$ = "testok.png"
If SaveImage(#Img_saveImage,savefile$,#PB_ImagePlugin_PNG)=0
  MessageRequester("error","unable to save the part of the image screen !"+savefile$)
EndIf: 

Il y a une autre façon de faire un screenshot du screen ?
Merci.