javascript - 如何使用 fabricjs 在 HTMlL5 canvas 中从本地硬盘上传图像文件

标签 javascript html html5-canvas fabricjs

 <html>
<input type="file" name="Image">
</html>

<script>
fabric.Image.fromURL('image.jpg', function(img) {enter code here
var oImg = img.set({ left: 50, top: 100, angle: 00 }).scale(0.9);
canvas.add(oImg).renderAll();
canvas.setActiveObject(oImg);
});
</script>

我正在尝试通过输入标签从硬盘上传图像文件。这是我的示例代码。告诉我如何更改此脚本,以便我可以从输入中选择图片。

最佳答案

您可以使用 HTML5 FileReader 查看图像而无需上传图像并将其添加到 Canvas 。

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

document.getElementById('file').addEventListener("change", function(e) {
    var file = e.target.files[0];
    var reader = new FileReader();
    reader.onload = function(f) {
        var data = f.target.result;
        fabric.Image.fromURL(data, function(img) {
            var oImg = img.set({ left: 50, top: 100, angle: 00 }).scale(0.9);
            canvas.add(oImg).renderAll();
            canvas.setActiveObject(oImg);
        });
    };
    reader.readAsDataURL(file);
});
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.min.js"></script>
<canvas id="canvas"></canvas>
<input type="file" id="file">

关于javascript - 如何使用 fabricjs 在 HTMlL5 canvas 中从本地硬盘上传图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28297260/

相关文章:

javascript - 我如何将 `do` 用作 RxJS 可出租运算符?

javascript - 显示基于 Angular 中另一个选择的选项列表

html - 背景在 IE 上不完全显示

css - object-fit 如何与 canvas 元素一起使用?

javascript - 使用 d3.js 将多个 map 元素添加到谷歌地图

javascript - JavaScript 中的 Dart 事件

html - 哪些自闭合元素可以应用::before 和::after 伪元素

php - 发布到自己的页面而不是将信息提交到文本文档

javascript - 在 Javascript 中显示 tilemap

javascript - 放大和缩小时如何避免 Canvas 元素中圆形标记的不必要的填充不透明度变化?