Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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导入paper.js中的路径返回null_Javascript_Svg_Paperjs - Fatal编程技术网

Javascript 将SVG导入paper.js中的路径返回null

Javascript 将SVG导入paper.js中的路径返回null,javascript,svg,paperjs,Javascript,Svg,Paperjs,尝试将SVG导入paper.js画布时,元素记录为“null” 我不知道为什么这不起作用,因为这种方法似乎用于解决不同的问题…-> console.log的预期输出将是一个对象(请参见其中的“返回: Item-新创建的Paper.js项目,其中包含转换后的SVG内容“对,您似乎只能从importSVG()回调导入和使用SVG文件。如果要将其用作回调函数之外的对象,则它必须是DOM元素 将SVG文件的内容“内联”复制并粘贴到html文件中,使用fetch API将其追加,或从后端回显其内容(这就是

尝试将SVG导入paper.js画布时,元素记录为“null”

我不知道为什么这不起作用,因为这种方法似乎用于解决不同的问题…->

console.log的预期输出将是一个对象(请参见其中的“返回:

Item-新创建的Paper.js项目,其中包含转换后的SVG内容“

对,您似乎只能从
importSVG()
回调导入和使用SVG文件。如果要将其用作回调函数之外的对象,则它必须是DOM元素

将SVG文件的内容“内联”复制并粘贴到html文件中,使用fetch API将其追加,或从后端回显其内容(这就是我最后要做的),然后:


是的,如果要使用返回值,必须传递SVG DOM节点或SVG字符串。如果传递URL,则无法立即使用返回值,因为Paper.js必须异步加载文件。
<script src="path/to/paper-full.min.js"></script>
<canvas id="myCanvas" resize></canvas>
<script src="path/to/script.js" type="text/paperscript" canvas="myCanvas"></script>
var svg = '../assets/couch.svg';

var couch = project.importSVG(svg);

console.log(couch); // returns null
svg = document.getElementById('your-selector')

var yourConvertedSVGItem = project.importSVG(svg, function() {
    svg.style.display = 'none' // hide the source image or do something else here
})

console.log(yourConvertedSVGItem)