gpt4 book ai didi

javascript - 有没有办法使用 fabric.js 导入图像文件?

转载 作者:行者123 更新时间:2023-11-30 11:35:15 25 4
gpt4 key购买 nike

我目前正在使用 fabric.js 库和输入文件按钮将 png 或 svg 文件导入到 Canvas 上。以下代码仅在图像位于根文件夹中时才有效。我知道我无权访问文件路径,所以我尝试从文件中创建一个元素。控制台中没有错误,但 Canvas 中没有显示任何内容。有没有一种方法可以使导入工作正常进行,或者是否有其他库可以帮助我执行此操作?我正在使用 fabric.js 以便能够在 Canvas 内缩放和移动图像。

function upload(){
var canvas = new fabric.Canvas('canvas');
var file = document.getElementById('file').files[0].name;
fabric.Image.fromURL(file, function(img) {
canvas.add(img);
})
}

最佳答案

是的!

有一种方法可以使用 FabricJS 导入图像/svg 文件,如下所示......

var canvas = new fabric.Canvas('c');

function upload(e) {
var fileType = e.target.files[0].type;
var url = URL.createObjectURL(e.target.files[0]);

if (fileType === 'image/png') { //check if png
fabric.Image.fromURL(url, function(img) {
img.set({
width: 180,
height: 180
});
canvas.add(img);
});
} else if (fileType === 'image/svg+xml') { //check if svg
fabric.loadSVGFromURL(url, function(objects, options) {
var svg = fabric.util.groupSVGElements(objects, options);
svg.scaleToWidth(180);
svg.scaleToHeight(180);
canvas.add(svg);
});
}
}
canvas {
margin-top: 5px;
border: 1px solid #ccc
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.13/fabric.min.js"></script>
<input type="file" onchange="upload(event)">
<canvas id="c" width="180" height="180"></canvas>

关于javascript - 有没有办法使用 fabric.js 导入图像文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44745476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com