如何将背景图像设置为 SVG
how can i set the background image as SVG
所以我尝试导入 SVG 背景图像,当我导入 PNG 或任何其他类型但没有显示为 SVG 时它可以工作
如果你知道在 reactJS 上使用 fabric canvas 的更好主意,请告诉我
const Tool = () => {
const [canvas, setCanvas] = useState("");
useEffect(() => {
setCanvas(initCanvas());
}, []);
const initCanvas = () =>
new fabric.Canvas("canvas", {
height: 800,
width: 800,
backgroundImage: "/images/__Body1.svg", // here is the imported image
});
return (
<div className="test">
<React.Fragment>
<CssBaseline />
<Container maxWidth="md">
<canvas id="canvas" />
</Container>
</React.Fragment>
</div>
);
};
export default Tool;
您应该可以使用 backgroundImage: url(/images/__Body1.svg)
。
只需确保 svg 文件包含在生成的文件夹结构中。
如果您的输出包中没有 /images/__Body1.svg
文件并且您希望打包程序处理它,您可能需要进行一些更改。就(大概)webpack 而言,/images/__Body1.svg
只是一个字符串,因此它不会将其作为捆绑的一部分进行复制。如果是这种情况(svg 未添加到结果包中),您可以查看 webpack docs 关于更新 webpack.config.js
文件。请注意,您可能还需要手动包含 svg 文件,即。
import bodySvg from ('/images/__Body1.svg');
//...
new fabric.Canvas("canvas", {
height: 800,
width: 800,
backgroundImage: bodySvg, // here is the imported image
});
//...
所以我尝试导入 SVG 背景图像,当我导入 PNG 或任何其他类型但没有显示为 SVG 时它可以工作 如果你知道在 reactJS 上使用 fabric canvas 的更好主意,请告诉我
const Tool = () => {
const [canvas, setCanvas] = useState("");
useEffect(() => {
setCanvas(initCanvas());
}, []);
const initCanvas = () =>
new fabric.Canvas("canvas", {
height: 800,
width: 800,
backgroundImage: "/images/__Body1.svg", // here is the imported image
});
return (
<div className="test">
<React.Fragment>
<CssBaseline />
<Container maxWidth="md">
<canvas id="canvas" />
</Container>
</React.Fragment>
</div>
);
};
export default Tool;
您应该可以使用 backgroundImage: url(/images/__Body1.svg)
。
只需确保 svg 文件包含在生成的文件夹结构中。
如果您的输出包中没有 /images/__Body1.svg
文件并且您希望打包程序处理它,您可能需要进行一些更改。就(大概)webpack 而言,/images/__Body1.svg
只是一个字符串,因此它不会将其作为捆绑的一部分进行复制。如果是这种情况(svg 未添加到结果包中),您可以查看 webpack docs 关于更新 webpack.config.js
文件。请注意,您可能还需要手动包含 svg 文件,即。
import bodySvg from ('/images/__Body1.svg');
//...
new fabric.Canvas("canvas", {
height: 800,
width: 800,
backgroundImage: bodySvg, // here is the imported image
});
//...