9

我正在测试以下代码,当我复制动画 gif 并将其粘贴到网页时,我image/png在控制台中看到 - 而不是image/gif预期的那样。

为什么?

document.onpaste = function(event) {
  console.log(event.clipboardData.items[1]['type']); // 'image/png'
};

如何匹配 gif 图像?

例如,您可以在此jsfiddle使用gif 图像对其进行测试。

4

2 回答 2

4

CF_GIF 剪贴板格式很少使用。大多数应用程序仅以 CF_BITMAP、CF_ENHMETAFILE 或 CF_DIB 的形式将图像复制到剪贴板。然后,当您粘贴时,数据将转换为目标应用程序喜欢的任何格式,例如 PNG 或位图。因此,在您的情况下,GIF 很可能作为位图复制到剪贴板,然后在粘贴时转换为 PNG。GIF 的所有动画帧都丢失了。为了保存,您需要使用 CF_HDROP、CF_FileName 等进行拖放或模拟文件粘贴。

于 2013-02-18T21:53:39.693 回答
1

当您通过(我假设)右键单击图像然后“复制图像”来复制 gif 图像时,您将复制当前帧而不是整个文件。如果您想捕获整个文件,那么我建议在拖放事件中捕获它。

于 2013-02-18T21:47:33.553 回答