如何从浏览器剪贴板API动画GIF图像?(how to get animated gif image

2019-08-17 00:46发布

我测试下面的代码,当我复制一个GIF动画,并将其粘贴到网页,我看到的image/png控制台-而不是image/gif预期。

为什么?

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

我如何能匹配一个GIF图像?

您可以在此测试它的jsfiddle与此例如GIF图像。

Answer 1:

该CF_GIF剪贴板格式是非常较少使用。 大多数应用程序的影像复制到剪贴板只能作为CF_BITMAP,CF_ENHMETAFILE,或CF_DIB。 然后,当你粘贴,将数据转换为任何格式的目标应用perfers,如PNG或位图。 因此,在你的情况下,GIF很可能复制到剪贴板作为位图,然后将其粘贴在转换成PNG。 您所有的GIF动画帧的丢失。 为了保存,你需要做的拖/放或模拟与CF_HDROP,CF_FileName等文件粘贴..



Answer 2:

当您通过(我假设)复制gif图片右键单击图像,然后选择“复制图片”,然后复制当前帧,而不是整个文件。 如果你想要捕捉的整个文件那么我建议捕捉到它的拖放事件。



文章来源: how to get animated gif image from browser clipboard api?