Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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 如何将所有html(包括svg和底层css/js)转换为png或图像浏览器端_Javascript_Html_Css_Svg_Canvg - Fatal编程技术网

Javascript 如何将所有html(包括svg和底层css/js)转换为png或图像浏览器端

Javascript 如何将所有html(包括svg和底层css/js)转换为png或图像浏览器端,javascript,html,css,svg,canvg,Javascript,Html,Css,Svg,Canvg,是否有一个一站式的库可以将我的html/css(post js actions)原样拉出来并将其转换为图像,比如png?我的复杂之处在于页面的js可以在加载后呈现svg或任何类型的样式——我不知道 我知道在服务器端有很多方法,但我真的希望在客户端实现这一点 我也知道有canvg可以转换svg,但我事先不知道我的页面会有什么——画布、svg可以有任何东西。所以我需要一个相当健壮的工具 有什么想法吗?没有为我工作;它省略了svg以及css上的js操作 谢谢。如果你想使用某种类型的网站图片,你可以像这

是否有一个一站式的库可以将我的html/css(post js actions)原样拉出来并将其转换为图像,比如png?我的复杂之处在于页面的js可以在加载后呈现svg或任何类型的样式——我不知道

我知道在服务器端有很多方法,但我真的希望在客户端实现这一点

我也知道有canvg可以转换svg,但我事先不知道我的页面会有什么——画布、svg可以有任何东西。所以我需要一个相当健壮的工具

有什么想法吗?没有为我工作;它省略了svg以及css上的js操作


谢谢。

如果你想使用某种类型的网站图片,你可以像这样使用iframe
如果iframe不是,应该显示什么?iframe在一个小窗口中包括原始网站(例如page.html)(在这种情况下是300px×300px)在另一个网站上。

或者您可以使用来获取svg。

据我所知,没有任何插件可以完成所有操作。我通过结合HTML2Canvas和Canvg完成了一个类似的问题,基本上你将通过HTML2Canvas,然后将Canvg图形层到HTML2Canvas创建的画布上


显然,定位非常关键,因此您可能必须循环浏览元素以正确定位它们。

对不起-我想让用户下载页面的图片,这样iframe就不会工作。我花了几个小时尝试向其中添加js,将svg变成画布并包含css。我想这都是关于将css附加到“defs”的。我无法做到这一点,所以我不知道canvg是否是一个可行的选择。可以给我您的html代码吗?我测试了这个网站,它工作得很好。我尝试过canvg,但它似乎没有引入css(如字体等),这不是您使用它的目的,canvg是用于SVG的,canvg是用于SVG的,但它不能处理defs元素之外的样式。将svg样式放在css中是一个非常常见的过程,因此canvg无法处理这种常见的用例。我猜唯一的方法就是遍历css。你应该去看看