Code: Select all
If KeyboardPushed(#PB_Key_p)
SaveSprite(6, "c:/screenshot.bmp")
GrabSprite(6,0,0,640,480)
EndIf

So how can I correct this?
Im using the OpenScreen for graphics...
Thanks if you can help

Code: Select all
If KeyboardPushed(#PB_Key_p)
SaveSprite(6, "c:/screenshot.bmp")
GrabSprite(6,0,0,640,480)
EndIf
Code: Select all
;capture a piece of screen
Procedure.l CaptureScreen(Left.l, Top.l, Width.l, Height.l)
dm.DEVMODE
BMPHandle.l
srcDC = CreateDC_("DISPLAY", "", "", dm)
trgDC = CreateCompatibleDC_(srcDC)
BMPHandle = CreateCompatibleBitmap_(srcDC, Width, Height)
SelectObject_( trgDC, BMPHandle)
BitBlt_( trgDC, 0, 0, Width, Height, srcDC, Left, Top, #SRCCOPY)
DeleteDC_( trgDC)
ReleaseDC_( BMPHandle, srcDC)
ProcedureReturn BMPHandle
EndProcedure
ScreenCaptureAddress = CaptureScreen(0, 0, 1024, 768)
UseJPEGImageEncoder()
CreateImage(0, 1024, 768)
StartDrawing(ImageOutput())
DrawImage(ScreenCaptureAddress, 0, 0)
StopDrawing()
SaveImage(0, "d:\Screenshot.jpg",#PB_ImagePlugin_JPEG)
Code: Select all
Enumeration ;Sprites
#spr_ScreenShot
EndEnumeration
Global ScreenShots.w
Procedure SaveScreen()
ScreenShots + 1
GrabSprite(#spr_ScreenShot,0,0,640,480)
SaveSprite(#spr_ScreenShot,"screenshot"+Str(ScreenShots)+".bmp")
FreeSprite(#spr_ScreenShot)
EndProcedure