Et je n'arrive pas a sauver l'image present a l'ecran !!
Ca me dit tt le temps "image objets not initialised"
je vais mourir...

Code : Tout sélectionner
repeat
...
clearscreen(...)
...
displaysprite(...)
...
flipbuffers(...)
if keyboardreleased(#PB_Key_S)
snap + 1
snapid = grabsprite(#pb_any, 0, 0, ..., ...)
savesprite(snapid, "snap_"+str(snap)+".bmp")
freesprite(snapid)
endif
...
until ...
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 3.9
;
; Explication du programme :
; Faire une copie d'écran
#CAPTUREBLT = $40000000
Procedure SetWinTransparency(WinHandle.l, Transparency_Level.l)
If OpenLibrary(0, "user32.dll")
CallFunction(0, "SetLayeredWindowAttributes", WinHandle, 0, Transparency_Level, 2)
CloseLibrary(0)
EndIf
EndProcedure
If OpenWindow(0, 0, 0, 300, 300, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "Plein écran")
SetWindowLong_(WindowID(), #GWL_EXSTYLE, GetWindowLong_(WindowID(), #GWL_EXSTYLE) | $00080000) ; #WS_EX_LAYERED = $00080000
SetWinTransparency (WindowID(), 180)
; Pour changer le niveau de transparence de la fenêtre
; Le niveau de transparence doit être compris entre 1 (transparence totale) et 255 (opaque)
Repeat
Event = WaitWindowEvent()
Until Event = #WM_CLOSE
EndIf
Ecran_Largeur = GetSystemMetrics_(#SM_CXSCREEN)
Ecran_Hauteur = GetSystemMetrics_(#SM_CYSCREEN)
DC = GetDC_(0)
CreateImage(0, Ecran_Largeur, Ecran_Hauteur)
Dessin = StartDrawing(ImageOutput())
BitBlt_(Dessin, 0, 0, Ecran_Largeur, Ecran_Hauteur, DC, 0, 0, #SRCPAINT|#CAPTUREBLT)
StopDrawing()
ReleaseDC_(0, DC)
SaveImage(0, "Copie d'écran.bmp")
Delay(2000)