当前位置: 首页 > 面试题库 >

使用PIL和win32clipboard将图像写入python中的Windows剪贴板吗?

屠锦
2023-03-14
问题内容

我正在尝试打开图像文件并将图像复制到Windows剪贴板。有没有办法来解决这个问题:

import win32clipboard
from PIL import Image

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

clip_type = win32clipboard.CF_BITMAP
filepath = 'c:\\temp\\image.jpg'

im = Image.open(filepath) 
data = im.tobitmap() # fails with valueerror: not a bitmap
# data = im.tostring() runs, but receiving programs can't read the results
send_to_clipboard(clip_type, data)

我可以安装PythonMagick等,但宁愿不为一次性程序安装另一个库


问题答案:
from cStringIO import StringIO
import win32clipboard
from PIL import Image

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

filepath = 'image.jpg'
image = Image.open(filepath)

output = StringIO()
image.convert("RGB").save(output, "BMP")
data = output.getvalue()[14:]
output.close()

send_to_clipboard(win32clipboard.CF_DIB, data)


 类似资料:
  • 问题内容: 我正在尝试裁剪图像,然后将裁剪后的图像粘贴到另一个图像的中心。理想情况下,我希望裁切后的图像小于粘贴的图像,以便在粘贴的图像周围有一个边框,但我不知道这样是否可行。 这是我尝试过的方法(以及由此产生的错误消息): 我可以看到“区域”的大小已设为(0,0),但我不明白为什么。 任何对此的帮助将非常感谢 问题答案: 裁剪方法的PIL文档指出: 返回当前图像的矩形区域。该框是一个四元组,定义

  • 函数名称:写入剪贴板 函数功能:对系统剪贴板进行写入操作 函数方法 device.writePasteboard(str); 参数 类型 必填 说明 str string 是 写入剪贴板字符串 函数用例 str1 = "测试写入剪贴板" device.writePasteboard(str1) --写入剪贴板后推荐加延时后再读取剪贴板,否则可能会出现读取错误的问题 mSleep(1000) --读

  • 问题内容: 我有一个使用PIL将文字写入图片的python脚本。一切正常,除了遇到带回车符的字符串时。我需要在文本中保留回车符。我没有将回车符写到图像上,而是得到了一个小方框字符,应该在该处放置回车符。这是编写文本的代码: attText是我遇到麻烦的变量。我在写之前将其转换为字符串,因为在某些情况下,它是一个数字。 感谢您的帮助。 问题答案: 让我们考虑一下。“返回”表示什么?这意味着向左走一段

  • 如果我打开浏览器并复制页面的所有文本和图像(Ctrl+a),然后粘贴到Microsoft Word(例如)中,文本和图像都将被粘贴。 我正在尝试编写Java代码,从剪贴板内容中提取文本和所有图像,以便在程序中使用文本/图像,例如稍后在GUI中显示图像,并提供支持文本。 现在,我的代码成功地从包含文本和图像的剪贴板内容中提取文本,但是图像部分失败了。图像代码仅在剪贴板内容包含单个图像(如按下打印屏幕

  • 问题内容: 首先,关于SO将图像复制到python中的剪贴板的问题导致答案用PIL和win32clipboard将图像写入python中的Windows剪贴板?,这仅对Python 2.x有用。-我尝试过,但是没有用。我克服了一个问题:Python 3.0中没有StringIO和cStringIO模块 ,但是碰到了另一个: 因此,对于Python 3再次提出相同的问题-如何在Python 3中将图

  • 问题内容: 当我尝试使用粘贴到单元格时,我要粘贴的单元格保持空白,但setValueAt()似乎可以正常工作。另外,当我尝试从一个单元格剪切或复制JPopupMenu时,如果要粘贴到另一个单元格,则我的“粘贴”选项将保持禁用状态。我不知道为什么。我的代码如下。 Here’s my code for 问题答案: 根据您的示例代码,并且必须填写空白,它对 我有用… Now, maybe you’d l