Pregunta

Tengo un lienzo de Tkinter y una imagen de líneas y texto en él. ¿Hay una manera fácil de copiarlo en un portapapeles?

¿Fue útil?

Solución

Puede usar .postscript del lienzo para obtener una representación PostScript encapsulada (EPS) de los contenidos. Luego, use los enlaces de Python de < ImageMagick ( PythonMagick o PythonMagickWand ) para convertir el EPS en un metarchivo mejorado de Windows (EMF). Finalmente, cópielo en el portapapeles (por ejemplo, usando solución de nosklo ) con el CF_ENHMETAFILE portapapeles formato.

Otros consejos

Para usar el portapapeles de Windows debe convertir los datos de la imagen a un formato aceptado por win api. Entonces, solo use esta función:

import win32clipboard

def send_to_clibboard(clip_type, data): 
    win32clipboard.OpenClipboard()
    win32clipboard.EmptyClipboard()
    win32clipboard.SetClipboardData(clip_type, data) 
    win32clipboard.CloseClipboard()

Donde clip_type puede ser win32clipboard.CF_BITMAP , win32clipboard.CF_TIFF o muchos otros.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top