Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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 捕获SVG并重新缩放为微型_Javascript_Html_Svg_Raphael - Fatal编程技术网

Javascript 捕获SVG并重新缩放为微型

Javascript 捕获SVG并重新缩放为微型,javascript,html,svg,raphael,Javascript,Html,Svg,Raphael,我有一个用Raphael.js编写的小应用程序,它用SVG绘制一个节点网络,并根据给定的选择重新排列它 我需要能够捕获我绘制的svg图片,并将其显示在屏幕底部的“迷你地图”类型的显示器上。因为我不知道捕获画布时画布会是什么样子,所以我想知道是否可以将其捕获为位图或类似的东西 快速组合一把小提琴,以接近我的意思: 是否有一些方法可以执行以下操作:SVG.copy?或者SVG.img?(我肯定没有,但你知道我的意思吗?) 我研究了如何捕获整个SVG并调整其大小(这比我想编写或需要的代码要多),甚至

我有一个用Raphael.js编写的小应用程序,它用SVG绘制一个节点网络,并根据给定的选择重新排列它

我需要能够捕获我绘制的svg图片,并将其显示在屏幕底部的“迷你地图”类型的显示器上。因为我不知道捕获画布时画布会是什么样子,所以我想知道是否可以将其捕获为位图或类似的东西

快速组合一把小提琴,以接近我的意思:

是否有一些方法可以执行以下操作:
SVG.copy
?或者
SVG.img
?(我肯定没有,但你知道我的意思吗?)

我研究了如何捕获整个SVG并调整其大小(这比我想编写或需要的代码要多),甚至复制整个SVG,但我不知道是否可以将SVG捕获为图像并将其缩小到我需要的大小

小地图不需要是SVG,它可以只是一个图像,因为它基本上只是屏幕在先前动作中的历史


谢谢你的建议

有一种方法可以做到这一点,只需要拉斐尔,用你的小地图元素创建一个集合,然后克隆它。但是,由于您希望小地图是一个单独的实体/纸张,因此它更为棘手。我从中借用了一些代码将您的地图克隆到新的纸张上,效果很好()


有一种方法可以做到这一点,只使用拉斐尔,创建一个集与您的小地图元素,然后克隆它。但是,由于您希望小地图是一个单独的实体/纸张,因此它更为棘手。我从中借用了一些代码将您的地图克隆到新的纸张上,效果很好()


有一种方法可以做到这一点,只使用拉斐尔,创建一个集与您的小地图元素,然后克隆它。但是,由于您希望小地图是一个单独的实体/纸张,因此它更为棘手。我从中借用了一些代码将您的地图克隆到新的纸张上,效果很好()


有一种方法可以做到这一点,只使用拉斐尔,创建一个集与您的小地图元素,然后克隆它。但是,由于您希望小地图是一个单独的实体/纸张,因此它更为棘手。我从中借用了一些代码将您的地图克隆到新的纸张上,效果很好()


通过创建指向第一个SVG的不同缩放SVG,可以轻松地制作主SVG的缩略图

<div id="main">
    <svg id="mainsvg" viewBox="0 0 1000 1000">
        <rect x="100" y="100" width="500" height="500" fill="green"
              transform="rotate(10,350,350)"/>
        <rect x="400" y="400" width="500" height="500" fill="orange"
              transform="rotate(-10,650,650)"/>
    </svg>
</div>


<div id="thumb">
    <svg xmlns:xlink="http://www.w3.org/1999/xlink">
        <use xlink:href="#mainsvg" />
    </svg>
</div>
您可以对主SVG执行任何操作,拇指将反映所有更改


通过创建指向第一个SVG的不同缩放SVG,您可以轻松制作主SVG的缩略图

<div id="main">
    <svg id="mainsvg" viewBox="0 0 1000 1000">
        <rect x="100" y="100" width="500" height="500" fill="green"
              transform="rotate(10,350,350)"/>
        <rect x="400" y="400" width="500" height="500" fill="orange"
              transform="rotate(-10,650,650)"/>
    </svg>
</div>


<div id="thumb">
    <svg xmlns:xlink="http://www.w3.org/1999/xlink">
        <use xlink:href="#mainsvg" />
    </svg>
</div>
您可以对主SVG执行任何操作,拇指将反映所有更改


通过创建指向第一个SVG的不同缩放SVG,您可以轻松制作主SVG的缩略图

<div id="main">
    <svg id="mainsvg" viewBox="0 0 1000 1000">
        <rect x="100" y="100" width="500" height="500" fill="green"
              transform="rotate(10,350,350)"/>
        <rect x="400" y="400" width="500" height="500" fill="orange"
              transform="rotate(-10,650,650)"/>
    </svg>
</div>


<div id="thumb">
    <svg xmlns:xlink="http://www.w3.org/1999/xlink">
        <use xlink:href="#mainsvg" />
    </svg>
</div>
您可以对主SVG执行任何操作,拇指将反映所有更改


通过创建指向第一个SVG的不同缩放SVG,您可以轻松制作主SVG的缩略图

<div id="main">
    <svg id="mainsvg" viewBox="0 0 1000 1000">
        <rect x="100" y="100" width="500" height="500" fill="green"
              transform="rotate(10,350,350)"/>
        <rect x="400" y="400" width="500" height="500" fill="orange"
              transform="rotate(-10,650,650)"/>
    </svg>
</div>


<div id="thumb">
    <svg xmlns:xlink="http://www.w3.org/1999/xlink">
        <use xlink:href="#mainsvg" />
    </svg>
</div>
您可以对主SVG执行任何操作,拇指将反映所有更改


真是个好主意!这里有一个基于OP发布的Raphael代码的实现:不是我最终使用的,但是知道这个很好!有趣的是,它在Firefox中工作,但在chrome中提供了不同的布局,在Opera中根本不起作用。真是个好主意!这里有一个基于OP发布的Raphael代码的实现:不是我最终使用的,但是知道这个很好!有趣的是,它在Firefox中工作,但在chrome中提供了不同的布局,在Opera中根本不起作用。真是个好主意!这里有一个基于OP发布的Raphael代码的实现:不是我最终使用的,但是知道这个很好!有趣的是,它在Firefox中工作,但在chrome中提供了不同的布局,在Opera中根本不起作用。真是个好主意!这里有一个基于OP发布的Raphael代码的实现:不是我最终使用的,但是知道这个很好!有趣的是,它在Firefox中工作,但在chrome中提供了不同的布局,在Opera中根本不起作用。这正是我所需要的,抽象为一个函数并将继续使用。谢谢正是我所需要的,抽象为一个函数,并将继续使用。谢谢正是我所需要的,抽象为一个函数,并将继续使用。谢谢正是我所需要的,抽象为一个函数,并将继续使用。谢谢