问题标签 [clipboarddata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何使用 Python 在 OS 剪贴板中添加/获取图像数据?
我有一些 Python 代码可以编辑图像文件,并且想知道如何
将图像数据添加到操作系统剪贴板并从那里获取它。
在寻找跨平台解决方案来替换或获取Python 中的剪贴板文本时,有很多简单的答案(例如,使用带有一些代码
的内置 Tkinter 模块)。
但是,这些方法只能使用纯文本,不能使用其他剪贴板数据,如图像。
我的 Python 版本是 Windows 上的 3.x,但答案需要是跨平台的
(在不同的操作系统上工作),并且还应该支持其他 Python 版本,如 2.x。
我认为它应该只使用内置的 Python 模块,并且代码不应该太复杂(或者解释它的作用)。它可以是 Python 模块,因为文件可以包含在与可移植程序代码相同的文件夹中以避免安装。
还有一些其他相关问题可能适用于图像,但它们仅支持单个操作系统。最好的是将图像复制到 Python3 中的剪贴板和使用 PIL和win32clipboard 在 python 中将图像写入 Windows 剪贴板?.
那里描述的方法(仅适用于 Windows)似乎使用以下步骤:
- 获取图像的原始二进制数据 - 该方法使用 Python Imaging
Library ( PIL/Pillow ) 模块加载图像文件,因为它具有稍后使用的其他处理功能,在一个简单
且流行的标准 API 中。这可以使用不同的模块来完成(例如Pygame)。 - 使用内置的io
模块创建一个文件对象变量(用于内存输入/输出流)。对于 Python 2.x,from cStringIO import StringIO
使用了 Python 3,但使用了
更好的io.BytesIO
二进制流对象类型——旧的现在只允许文本。 - 将图像数据以 BMP(Windows 位图/设备独立位图)文件格式保存
到上一步中的文件对象变量。使用 PIL/Pillow 的方法首先
将此数据转换.convert("RGB")
为包含它的变量。 - 获取文件对象变量内存缓冲区的全部内容为二进制数据(
bytes
object),
从位置14开始切片,去掉BMP/DIB文件格式的14字节头,然后保存
为变量。该方法表示,此数据的切片适用于 32 位或 64 位系统,但
需要 Windows 剪贴板 API,因此不适用于不同的文件格式。 - 关闭内存缓冲区并将上一步中的图像数据复制到剪贴板。
该方法使用win32clipboard
扩展模块的一部分在 Windows 上执行此操作 -
它打开剪贴板以供使用,清除它,将其值设置为
上一步中的图像数据变量(使用 BMP/DIB 类型),然后关闭打开的剪贴板。
此外,还有一个名为Pyperclip的简单跨平台剪贴板文本模块,它
只是 1.5.6 版本的单个文件,并且可能包含可以处理图像数据的代码。
javascript - 在 JavaScript 中拦截粘贴数据
我从Javascript 中的 Intercept paste 事件中获得了以下代码。
我需要在粘贴之前获取它,否则我会丢失需要保存的“\n”字符。
它可以很好地拦截具有 id 的一个元素的剪贴板数据。我需要它来处理所有输入元素。当我尝试使用 jQuery 来获取输入元素时,什么都没有。
任何帮助表示赞赏。
android - 剪贴板不清楚
我创建了一个 android 应用程序,我正在使用此代码在应用程序的 onPause 方法中清除剪贴板
此代码适用于几乎所有设备,但不适用于三星 s4 我的三星 s4 有 android 4.4.2 操作系统
请帮我。
vb.net - 如何将文件复制到剪贴板并将其粘贴到其他位置?
我有一个带有小图像缩略图的列表视图。每个图像都有一个标签,其中包含完整路径。
使用右键菜单,用户可以单击复制。
然后执行此代码:
现在,当我单击桌面粘贴文件时,VS2010 中出现异常错误:
System.Windows.Forms.dll 中发生“System.Runtime.InteropServices.COMException”类型的异常,并且在托管/本机边界之前未处理
附加信息:无效的 FORMATETC 结构(来自 HRESULT 的异常:0x80040064 (DV_E_FORMATETC))
我在这里做错了什么?
rg. 埃里克
javascript - JavaScript 剪贴板数据粘贴纯文本/文本而不是文本/html 或其他媒体类型/mime
如何只允许粘贴纯文本/文本而不是文本/html 或其他媒体类型/哑剧?
目前我正在检索文本,但我必须使用event.preventDefault();
并手动替换 DOM 中的 textNode。
这是我获取粘贴文本的方式...
剪贴板 API 中有没有一种方法可以告诉浏览器粘贴纯文本/文本 mime 而不是 text/html mime,这样我就不必求助于使用event.preventDefault();
和手动调整anchorNode
textNode
? 没有框架。
c# - 如何以编程方式从剪贴板访问复制选择的地址
这是我想要实现的目标:
用户复制一个单元格(或一个范围),例如 A3,并且 - 当她点击按钮时 - 我需要以编程方式访问单元格的地址(以创建链接)。
以文本格式访问剪贴板很容易:
我还发现可以访问不同格式的剪贴板,像这样
但我一辈子都找不到包含链接的格式以及如何获取它。(我循环浏览了 Clipboard.GetDataObject().GetFormats() 提供的所有格式,但有些返回了我无法理解的难以理解的流。
背景资料:
A. 链接必须在那里,因为我可以使用创建绝对引用的“粘贴链接”
B. 我在 Win7 下使用 Excel 2010 和 VS2010 - C#
C. 代码在自定义任务窗格中运行
任何帮助表示赞赏!
所以,
并感谢所有设法阅读到这一点的人。我终于弄明白了。我的解决方案仍然很尴尬,因为我无法从剪贴板了解流的实际结构,但我找到了我正在寻找的东西:
这里的关键显然是 GetData 的特定格式:“链接源”。
读取结果流会生成一个包含许多奇怪字符的字符串,还有工作表的名称和复制范围的坐标。我用简单的方法去除了奇怪的字符
仍然有一些奇怪的字符我无法理解,但好消息是,在第一个感叹号之后,您会找到范围的地址(带有一些固定长度的尾随垃圾)。即使该范围是从另一个工作表复制的,即使该工作表的名称中有奇数字符(如德语变音符号),这也有效。
肯定有一个更整洁的解决方案
通过IStream接口从剪贴板中获取Excel Range对象
但是我发现那里的代码不完整(“明显”的部分被遗漏了),由于我的无能和缺少 IStream 的经验,我无法让它工作。
感谢您使用它来获得一个简洁的解决方案的任何帮助,但我对我目前所拥有的感到满意。多谢你们。
c# - windows剪贴板到网页文本框控件
我有一个 mvc 项目,我在其中使用 HTML5 创建了一些控件并将其绑定到相应的视图。该网页中有很多文本框控件。当我进行一些测试时,为所有文本框提供输入是浪费时间,否则我无法继续进行,因为所有文本框控件都存在验证。
所需的解决方案 ::我们将拥有 ac# 桌面应用程序,该应用程序将为该网页的每个控件提供一些虚拟值。同一个桌面应用程序将有一个复制按钮,它有助于将所有值复制到 Windows 剪贴板。现在我不知道如何在将这些值加载到 chrome 浏览器中后将其传递给特定的网页控件。
我对 mvc 和 web 很陌生,所以无法找到我应该从哪里开始解决上述问题。请帮忙。提前致谢。
javascript - 使用 JavaScript 和 Google Chrome API 将剪贴板数据存储到变量中
我想知道是否可以将剪贴板的内容存储在字符串变量中。
以下消息来源指出,使用纯 JS 是不可能的,但我在想希望 chrome API 能够做到这一点。(我正在开发一个 chrome 扩展)。
有一个clipboardRead
许可,它会让你相信这是可能的,但它的描述只是:
如果扩展程序或应用程序使用 document.execCommand('paste'),则为必需。 来源
澄清一下:我不想将数据复制到剪贴板或从中粘贴数据。我想将剪贴板的内容存储到一个变量中,而不以任何方式改变剪贴板的内容。
为了进一步澄清,我不能假设剪贴板数据恰好info.selectionText
在操作时存在。
如果这是不可能的,那么我想我将不得不忍受它,但它似乎可以通过扩展来完成。
编辑: 我想存储值的原因是因为我需要使用剪贴板来执行操作,但是我想在完成后恢复它的内容,所以用户不会丢失曾经在那里的任何东西。
如果我只是将数据粘贴到文本区域并从那里存储,那么当我将数据放回去时,用户将丢失他们拥有的任何格式,这总比没有好,但不是最佳的。
另外,有没有一种方法可以存储该数据,即使它不是字符串(例如图像)?允许我这样做的解决方案无疑也会隐含地回答上述问题,但不是必需的。我主要是在寻找保存字符串数据,并且更喜欢一种保持格式的方法。
javascript - 将文件从网络复制到桌面并反向
我正在构建一个基于 Web 的文件管理器,并且想知道是否可以将文件从 Web 复制到桌面并反转。
就像我可以[CTRL] + [C]
在桌面上复制文件然后将其粘贴[CTRL] + [V]
到其他地方一样。
我认为这只是我发送到剪贴板的问题。
任何人都有这方面的任何信息。