Screen - Shoot im Vollbild

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Screen - Shoot im Vollbild

Beitrag 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
-.-"
Benutzeravatar
Epyx
Beiträge: 247
Registriert: 29.08.2004 01:40
Computerausstattung: AMD64 X2 DualCore 6000+ , 3GB Ram , WinXP sp3
2x Ati Radeon HD4800 ~ CrossFireX
Kontaktdaten:

Beitrag von Epyx »

Du meinst sicher nen Screen shot von einem DX Screen,
da musst du ein Sprite grabben und abspeichern, also

Grabsprite()

und

Savesprite()
If you can't make it good, at least make it look good.
Bill Gates
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Schon lange gemacht

Beitrag 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
-.-"
Benutzeravatar
Rubiko
Beiträge: 943
Registriert: 25.02.2005 19:43
Computerausstattung: Intel i7 2600k
8GB Ram
GeForce GTX 560 Ti
Wohnort: Schwabach

Beitrag von Rubiko »

ich bin mir nicht sicher aber wann hast du den code rein? nach setzen der sprites?
Ich wollte die Welt verändern, doch Gott gab mir nicht den Quelltext.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Ja sicher

Beitrag 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
-.-"
Benutzeravatar
Epyx
Beiträge: 247
Registriert: 29.08.2004 01:40
Computerausstattung: AMD64 X2 DualCore 6000+ , 3GB Ram , WinXP sp3
2x Ati Radeon HD4800 ~ CrossFireX
Kontaktdaten:

Beitrag von Epyx »

Lass deinen Bildschirm komplett aufbauen und pack am schluss deine Snapshot routine hinein. Dann sicherst du alles auch deine Raumschiffe,
If you can't make it good, at least make it look good.
Bill Gates
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

yap, den screenshot unmittelbar vor den FlipBuffers-befehl..

weil GrabSprite auch vom hinteren buffer liest ;)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
saimen
Beiträge: 172
Registriert: 26.01.2005 10:44
Wohnort: Passau
Kontaktdaten:

Beitrag von saimen »

kann man auch einen snapshot von vom Bildschirm machen? Also z.b. meinem Desktop?
Dare Devil
Beiträge: 237
Registriert: 17.10.2008 18:24
Kontaktdaten:

Beitrag 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?
Bild + Bild

Bild
Antworten