Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我有一个HTML5画布,我想制作一个该画布的动画GIF_Javascript_Html_Canvas_Converter_Animated Gif - Fatal编程技术网

Javascript 我有一个HTML5画布,我想制作一个该画布的动画GIF

Javascript 我有一个HTML5画布,我想制作一个该画布的动画GIF,javascript,html,canvas,converter,animated-gif,Javascript,Html,Canvas,Converter,Animated Gif,我有一个简单的HTML5页面,只有一块画布,上面画着科学的可视化 我想拍摄该画布的X帧(可能在关键点使用toDataURL()),并将其转换为动画GIF,以便下载 或者,这是一种很好的方法,可以在没有提示的情况下将DOM中的图像保存到光盘,或者压缩100-200个图像,以便在有提示的情况下保存,这些提示可以在其他地方提供 这个问题有现成的解决办法吗?我的意思不是记录DOM的一部分的AVI,保存它,提取帧,并将其重新打包成GIF。没有保存动画GIF的本机功能,但是,有一个用JavaScript编写

我有一个简单的HTML5页面,只有一块画布,上面画着科学的可视化

我想拍摄该画布的X帧(可能在关键点使用
toDataURL()
),并将其转换为动画GIF,以便下载

或者,这是一种很好的方法,可以在没有提示的情况下将DOM中的图像保存到光盘,或者压缩100-200个图像,以便在有提示的情况下保存,这些提示可以在其他地方提供


这个问题有现成的解决办法吗?我的意思不是记录DOM的一部分的AVI,保存它,提取帧,并将其重新打包成GIF。

没有保存动画GIF的本机功能,但是,有一个用JavaScript编写的库可以为您做到这一点:

无法在没有提示的情况下将图像保存到本地磁盘。您可以选择:

  • 创建一个链接,用户可以点击保存(并选择位置)。大多数最新的浏览器都允许您使用锚标记()的下载属性
  • 将其发送到服务器,然后在标题中使用下载属性返回,以提示用户输入位置
更新

如果只想将浏览器用作本地任务的有用主机,则始终可以禁用这些限制。以下是Chrome:

要禁用所有安全措施,请使用此标志从命令行启动Chrome:

chrome.exe --disable-web-security
如果您只想使用本地文件(file://在任何情况下都是必需的):

我不能100%确定这些是否允许您保存到本地磁盘,但它们在不修改浏览器的代码库的情况下尽可能地接近


希望这有帮助

+1。Kevin Kwoks(反物质)
jsgif
是一个很好的库,可以将画布序列制作成gif。并且同意,将映像保存到本地磁盘违反了安全考虑(这是非常粗鲁的!)。@Adrianseley,如果你想在本地环境中使用它的话。只有您可以启动浏览器(此处为Chrome),并使用一个标记覆盖对使用本地文件的限制(不管是否需要file://文件)。从命令行启动Chrome,如下所示:
Chrome.exe--禁用web安全性
Chrome.exe--允许从文件访问文件
。(更新了这些答案)
chrome.exe --allow-file-access-from-files