Seite 1 von 1

Screen - Shoot im Vollbild

Verfasst: 01.04.2005 22:54
von Green Snake
hallo

wie mache ich einen Screen - Shoot* im Vollbild
*schreibt man das so

mit der entsprächenden taste geht das bei mir nicht

gruss snake

Verfasst: 01.04.2005 22:57
von Epyx
Du meinst sicher nen Screen shot von einem DX Screen,
da musst du ein Sprite grabben und abspeichern, also

Grabsprite()

und

Savesprite()

Schon lange gemacht

Verfasst: 01.04.2005 23:19
von Green Snake
hallo

das habe ich schon gemacht

Code: Alles auswählen

If KeyboardPushed(14)
GrabSprite(Screen,0,0,800,600)
SaveSprite(Screen,"Screen.bmp",#PB_ImagePlugin_BMP)
EndIf
das hat es auch gemacgt, leider nur fast....
es hat nur das hintergrundbild "fotografiert" nicht aber die daraufflogenden raumschiffe

keine ahning wiso

Verfasst: 01.04.2005 23:20
von Rubiko
ich bin mir nicht sicher aber wann hast du den code rein? nach setzen der sprites?

Ja sicher

Verfasst: 01.04.2005 23:27
von Green Snake
Ja sicher.

was aber sein könne, die bilder bewegen sich ja.....
dsa heisst es könnte sein, das ich den code in dem moment gesetzt habe,
wo das clearscreen zu vor stand

ich schau nochmal nach

Verfasst: 02.04.2005 01:59
von Epyx
Lass deinen Bildschirm komplett aufbauen und pack am schluss deine Snapshot routine hinein. Dann sicherst du alles auch deine Raumschiffe,

Verfasst: 03.04.2005 15:52
von Kaeru Gaman
yap, den screenshot unmittelbar vor den FlipBuffers-befehl..

weil GrabSprite auch vom hinteren buffer liest ;)

Verfasst: 10.12.2008 17:01
von saimen
kann man auch einen snapshot von vom Bildschirm machen? Also z.b. meinem Desktop?

Verfasst: 10.12.2008 17:07
von Dare Devil
saimen hat geschrieben:kann man auch einen snapshot von vom Bildschirm machen? Also z.b. meinem Desktop?

Code: Alles auswählen

Procedure MakeWinScreenshot(ImageNr,hWnd,wx, wy, Width,Height) 
   hImage = CreateImage(ImageNr,Width,Height) 
   hDC = StartDrawing(ImageOutput(ImageNr)) 
      BitBlt_(hdc,0,0,Width,Height,GetDC_(hWnd),wx,wy,#SRCCOPY) 
   StopDrawing() 
   ProcedureReturn hImage 
EndProcedure 

r.rect
GetWindowRect_(GetDesktopWindow_(), r)

x = r\left
y = r\top
width = r\right - r\left
height = r\bottom - r\top

Delay(500)

scr = CreateImage(#PB_Any, width, height)
scr = MakeWinScreenshot(0, GetDesktopWindow_(), x, y, width, height)

OpenWindow(0, 0, 0, width, height, "Bild")

CreateGadgetList(WindowID(0))

ImageGadget(0, 0, 0, width, height, scr)

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
meinst du das?