小编Sno*_*ite的帖子

将图像从用户计算机添加到画布

我正在开发一个允许用户创建动态幻灯片的Web应用程序.目前,无论如何将图像从计算机用户添加到画布,我都遇到了问题.我正在使用输入按钮从计算机获取文件,它吸引了将图像添加到画布的功能.

到目前为止,我已经尝试了不同的方法将图像添加到画布以及这一个:动态添加图像到画布

但是这里显示的代码在我的情况下不起作用,因为它只是将图像绘制到画布中,但它不允许它可拖动和调整大小,就像Fabricsjs的Kitchensink.js演示一样.

我也尝试将图像转换为Base64并使用LoadJSON将其转换回来,但我遇到了这个错误:

Uncaught TypeError: Cannot read property 'length' of undefined fabric.js:2089
enlivenObjects fabric.js:2089
fabric.util.object.extend._enlivenObjects fabric.js:9025
fabric.util.object.extend.loadFromJSON fabric.js:8953
sub
Run Code Online (Sandbox Code Playgroud)

Sub指的是我调用的函数来添加图像.

我也试过这段代码:

document.getElementById('imgLoader').onchange = function handleImage(e){
var reader = new FileReader();
reader.onload = function(event){
var img = new fabric.Image();
img.onload = function(){
img.set({
    left : 250,
    top : 250,
    angle : 20,
      padding: 10,
      cornersize: 10
    });
    image.scale(getRandomNum(0.1, 0.25)).setCoords();
    canvas.add(image);
}
img.src = event.target.result;
}
reader.readAsDataURL(e.target.files[0]);
}
Run Code Online (Sandbox Code Playgroud)

哪个抓到这些错误:

Uncaught TypeError: Cannot read property 'width' of undefined fabric.js:14358
fabric.Image.fabric.util.createClass._setWidthHeight fabric.js:14358 …
Run Code Online (Sandbox Code Playgroud)

javascript jquery html5 canvas fabricjs

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

canvas ×1

fabricjs ×1

html5 ×1

javascript ×1

jquery ×1