简体   繁体   English

Javascript画布空白图像

[英]Javascript Canvas Blank Image

I am trying to make a tshirt customizer with FabricJs. 我正在尝试使用FabricJs创建T恤定制器。 Everything is working fine .. I can upload the image and load it into canvas. 一切正常。.我可以上传图像并将其加载到画布中。 The image is placed on the tshirt, but if i want to see(or send to server) the canvas image i get a blank image. 该图像放在T恤上,但是如果我想查看(或发送到服务器)画布图像,则会得到空白图像。

My code is : 我的代码是:

document.getElementById('imgLoader').onchange = function handleImage(e) {
        var reader = new FileReader();

        reader.onload = function (event) {

            var imgObj = new Image();
            imgObj.src = event.target.result;
            //imgObj.crossOrigin = 'anonymous';

            $('#imageCanvas').val(event.target.result);
            imgObj.onload = function () {
                // start fabricJS stuff
                imgObj.width = 100
                imgObj.height = 100

                var image = new fabric.Image(imgObj);
                image.set({
                    top: 100,
                    left: 100 ,
                    padding: 10,
                    cornersize: 10,
                });

                //image.scale(0.1).setCoords();
                canvas.add(image);

                // end fabricJS stuff
            }

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

var dataURL = canvas.toDataURL("image/png");
document.getElementById('canvasImg').src = dataURL; 

It looks like you should be doing canvas.toDataURL inside imgObj.onload . 看来您应该在canvas.toDataURL中执行imgObj.onload

Otherwise the image will not yet be drawn onto the FabricJS canvas and the canvas will be empty at the point you are converting it into an image with .toDataURL . 否则,该图像将不会被绘制到FabricJS画布上,并且在您将其转换为.toDataURL图像时,该画布将为空。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM