Como copiar uma imagem da tela para área de transferência?
Pergunta
Eu tenho algumas telas Tkinter e alguma imagem de linhas e texto sobre ele. Existe uma maneira fácil de copiá-lo para a área de transferência?
Solução
Você pode usar .postscript
método do tela para obter uma representação Encapsulated PostScript (EPS) do conteúdo. Em seguida, use ` ImageMagick 's ligações Python ( PythonMagick ou PythonMagickWand ) para converter as EPS a um Windows Metafile avançado (EMF). Finalmente, copie-o para a área de transferência (por exemplo, usando a solução de nosklo ) com a CF_ENHMETAFILE prancheta formato.
Outras dicas
Para usar o Windows prancheta você deve converter os dados de imagem para um formato aceito pela vitória api. Em seguida, basta usar esta função:
import win32clipboard
def send_to_clibboard(clip_type, data):
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(clip_type, data)
win32clipboard.CloseClipboard()
Onde clip_type
pode ser win32clipboard.CF_BITMAP
, win32clipboard.CF_TIFF
ou muitos outros.