Bitmap in der Zwischenablage abspeichern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
jocsch
User
Beiträge: 31
Registriert: Freitag 4. April 2003, 13:09
Wohnort: Egloffstein (Hundshaupten)

Mittwoch 25. März 2009, 10:05

Hallo, Alle!
Folgendes Anliegen: Ich habe via Alt-Druck einen Screenshot des aktiven Fensters in der Zwischenablage erzeugt und möchte diesen nun als gültige Bitmapdatei abspeichern.
Mit

Code: Alles auswählen

win32clipboard.OpenClipboard()
bitmap = win32clipboard.GetClipboardData(win32clipboard.CF_DIB)
win32clipboard.CloseClipboard()
komme ich schon mal an die Zwischenablage ran, aber wie weiter?

Dieser thread http://www.python-forum.de/topic-16268.html?highlight= beschreibt den umgekehrten Weg, aber damit komme ich auch nicht so richtig voran.

Grüsse, jocsch
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Mittwoch 25. März 2009, 14:23

Das ist zwar für C, könnte sich aber in Python umsetzen lassen.
MfG
HWK
jocsch
User
Beiträge: 31
Registriert: Freitag 4. April 2003, 13:09
Wohnort: Egloffstein (Hundshaupten)

Mittwoch 25. März 2009, 15:27

Sieht hilfreich aus, vielen Dank für den Tip! Über die (hoffentlich erfolgreiche) Umsetzung werde ich dann posten ... :D
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Mittwoch 25. März 2009, 15:39

Das, das und das sollte auch noch hilfreich sein.
MfG
HWK
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Freitag 27. März 2009, 21:02

Ich hatte gerade mal Lust dazu:

Code: Alles auswählen

import struct
import win32clipboard
win32clipboard.OpenClipboard()
dib = win32clipboard.GetClipboardData(win32clipboard.CF_DIB)
win32clipboard.EmptyClipboard()
win32clipboard.CloseClipboard()
with open('test.bmp', 'wb') as outfile:
    outfile.write('BM')
    outfile.write(struct.pack('lll', len(dib) + 14, 0, 54))
    outfile.write(dib)
MfG
HWK
jocsch
User
Beiträge: 31
Registriert: Freitag 4. April 2003, 13:09
Wohnort: Egloffstein (Hundshaupten)

Dienstag 31. März 2009, 15:02

Super, danke! Freu!

Grüsse, jocsch
Antworten