javascript - load image to fabric canvas background - Stack Overflow

hi im trying to upload an image and put it as canvas background. code snippet:function handleMenuImage(

hi im trying to upload an image and put it as canvas background. code snippet:

function handleMenuImage(e){
    var reader = new FileReader();
    reader.onload = function(event){
        var img = new Image();
        img.src = event.target.result;
        canvas.setWidth(img.width);
        canvas.setHeight(img.height);
        canvas.setBackgroundImage(img.src, canvas.renderAll.bind(canvas));

        //set the page background
        menuPages[currentPage].pageBackground.src = img.src;
        canvas.backgroundImageStretch = false;

    }
    reader.readAsDataURL(e.target.files[0]); 
}

the problem is that the canvas not showing the background. i can see the canvas background src in chrome devtools. the background is actually have been set but somehow its not displayed.

hi im trying to upload an image and put it as canvas background. code snippet:

function handleMenuImage(e){
    var reader = new FileReader();
    reader.onload = function(event){
        var img = new Image();
        img.src = event.target.result;
        canvas.setWidth(img.width);
        canvas.setHeight(img.height);
        canvas.setBackgroundImage(img.src, canvas.renderAll.bind(canvas));

        //set the page background
        menuPages[currentPage].pageBackground.src = img.src;
        canvas.backgroundImageStretch = false;

    }
    reader.readAsDataURL(e.target.files[0]); 
}

the problem is that the canvas not showing the background. i can see the canvas background src in chrome devtools. the background is actually have been set but somehow its not displayed.

Share Improve this question asked Jul 12, 2012 at 13:25 Evgeni RoitburgEvgeni Roitburg 2,09723 silver badges36 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 2

That seems strangely confusing. If you want a background image on an HTMLCanvasElement, why not just set the background image via CSS?

#myCanvas {
  background-image: url(http://placekitten./100/100);
}

Or set the CSS via JavaScript:

canvas.style.backgroundImage = 'url(http://placekitten./100/100)';

Try the following code:

var raw_reader = new FileReader();
raw_reader.onload = function (event){
  var reader = new FileReader();
  reader.onload = function(event){
    var img = new Image();
    img.src = event.target.result;
    canvas.setWidth(img.width);
    canvas.setHeight(img.height);
    canvas.setBackgroundImage(img.src, canvas.renderAll.bind(canvas));

    //set the page background
    menuPages[currentPage].pageBackground.src = img.src;
    canvas.backgroundImageStretch = false;

  }
  reader.readAsDataURL(e.target.files[0]); 
}
raw_reader.readAsBinaryString(e.target.files[0]);

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745424527a4627113.html

相关推荐

  • javascript - load image to fabric canvas background - Stack Overflow

    hi im trying to upload an image and put it as canvas background. code snippet:function handleMenuImage(

    8小时前
    40

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信