Seite 1 von 1

Bitmap in der Zwischenablage abspeichern

Verfasst: Mittwoch 25. März 2009, 10:05
von jocsch
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

Verfasst: Mittwoch 25. März 2009, 14:23
von HWK
Das ist zwar für C, könnte sich aber in Python umsetzen lassen.
MfG
HWK

Verfasst: Mittwoch 25. März 2009, 15:27
von jocsch
Sieht hilfreich aus, vielen Dank für den Tip! Über die (hoffentlich erfolgreiche) Umsetzung werde ich dann posten ... :D

Verfasst: Mittwoch 25. März 2009, 15:39
von HWK
Das, das und das sollte auch noch hilfreich sein.
MfG
HWK

Verfasst: Freitag 27. März 2009, 21:02
von HWK
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

Verfasst: Dienstag 31. März 2009, 15:02
von jocsch
Super, danke! Freu!

Grüsse, jocsch