使用Python将多个图像复制到剪贴板

时间:2015-09-21 02:56:26

标签: python image python-imaging-library clipboarddata clipboard-pictures

在Windows 7中使用Python 3.4.0,我设法通过this question将单个图像复制到剪贴板。

现在我想同时复制多个图像。 我对这段代码中发生的事情了解不多,所以我无法修改它。 有什么想法吗?

我的代码:

    msvcrt = ctypes.cdll.msvcrt
    kernel32 = ctypes.windll.kernel32
    user32 = ctypes.windll.user32
    CF_DIB = 8
    GMEM_MOVEABLE = 0x0002
    user32.OpenClipboard(None)
    user32.EmptyClipboard()

    for image_path in list:
        img = Image.open(image_path)

        output = io.BytesIO()
        img.convert("RGB").save(output, "BMP")
        data = output.getvalue()[14:]
        output.close()

        global_mem = kernel32.GlobalAlloc(GMEM_MOVEABLE, len(data))
        global_data = kernel32.GlobalLock(global_mem)
        msvcrt.memcpy(ctypes.c_char_p(global_data), data, len(data))
        kernel32.GlobalUnlock(global_mem)
        user32.SetClipboardData(CF_DIB, global_mem)

    user32.CloseClipboard()

0 个答案:

没有答案