【发布时间】:2013-10-29 22:56:29
【问题描述】:
当我尝试将图像发送到剪贴板时,我遇到了 alpha 通道的丢失,here 描述的解决方案均不适用于我正在使用的软件,但是当我将粘贴 png 文件复制到该软件中时,alpha频道似乎被保留了。
在这种考虑下,我想在 Windows 资源管理器允许的文件上模拟 Ctrl+C。使用Clipview 我发现15 : CF_HDROP 字段与我的目标相关。尝试使用win32clipboard设置此字段
import win32clipboard
win32clipboard.OpenClipboard(0)
file1="C:\\Users\\User\\Desktop\\test.png"
win32clipboard.SetClipboardData(15, file1)
win32clipboard.CloseClipboard()
这样做我没有收到任何错误,但是当我尝试使用这个新的剪贴板内容时它不起作用,因为如所述 there unicode 文件名元组必须存储在 CF_HDROP 字段中。
我不知道如何继续。我也试过
file1= (unicode('C:\\Users\\User\\Desktop\\CANEVAS\\test.png'),)
但我收到了这个错误:
TypeError: 期望一个可读的缓冲区对象。
【问题讨论】:
标签: python windows buffer clipboard