Fensterausschnitt als Image speichern...

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
Ghosty1967
Beiträge: 205
Registriert: 29.08.2005 13:56
Computerausstattung: Intel i7, 128GB Ram, Win10 Ultimate, PB6.00 Alpha 3
Wohnort: Köln

Fensterausschnitt als Image speichern...

Beitrag von Ghosty1967 »

Hallo zusammen...
Ich suche einen Codeschnipsel um einen definierbaren (x, y, breite, höhe) Fensterinhalt in eine
Bitmap zu speichern. Ich habe das Forum schon durchsucht, finde aber leider nicht das passende.
Hätte da jemand einen Schnipsel für mich?!

__________________________________________________
Thread verschoben
Code, Tipps und Tricks>Windows
08.12.2014
RSBasic
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Fensterausschnitt als Image speichern...

Beitrag von RSBasic »

http://www.rsbasic.de/aktualisierung/wi ... stellen.pb
Die Funktion, die du anpassen musst, wäre: BitBlt_()
Informationen bezüglich der Parameterliste findest du hier: http://msdn.microsoft.com/en-us/library ... 85%29.aspx

\\Edit:
Du bist im falschen Forum. In diesem Forum werden fertige Codes veröffentlicht, keine Fragen. *verschieb*
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Fensterausschnitt als Image speichern...

Beitrag von Kiffi »

ich habe auf Anhieb hier was gefunden: http://www.purebasic.fr/english/viewtop ... 890#p49890

ein wenig angepasst sähe es so aus:

Code: Alles auswählen

EnableExplicit

;capture a piece of screen 
Procedure.l CaptureScreen(Left.l, Top.l, Width.l, Height.l) 
	
	Protected dm.DEVMODE 
	Protected BMPHandle.l 
	Protected srcDC = CreateDC_("DISPLAY", "", "", dm) 
	Protected 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 

Define ScreenCaptureAddress = CaptureScreen(100, 100, 300, 300)

If ScreenCaptureAddress
	CreateImage(0, 300, 300)
	StartDrawing(ImageOutput(0)) 
	DrawImage(ScreenCaptureAddress, 0, 0) 
	StopDrawing() 
	SaveImage(0, GetTemporaryDirectory() + "Ghosty1967.bmp")
	RunProgram(GetTemporaryDirectory() + "Ghosty1967.bmp")
EndIf
Grüße ... Peter
a²+b²=mc²
Benutzeravatar
Ghosty1967
Beiträge: 205
Registriert: 29.08.2005 13:56
Computerausstattung: Intel i7, 128GB Ram, Win10 Ultimate, PB6.00 Alpha 3
Wohnort: Köln

Re: Fensterausschnitt als Image speichern...

Beitrag von Ghosty1967 »

WOW, das ging fixxxxx...
Werde ich direkt mal ausprobieren, vielen, vielen Dank!! :allright:
Antworten