使用fabric.js将一系列图像添加到画布

时间:2013-01-10 01:16:27

标签: html5

我使用AJAX在画布上返回我想要的图像列表。现在我想循环该集合并将图像添加到我的画布,这是行不通的。有人可以帮忙吗?以下是我的代码(在html head部分中)

<script>
    $(document).ready(function () {
        $.ajax({
            type: "POST",
            url: "http://localhost:7466/DataService.asmx/GetPersons",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (response) {

                var person;
                person = response;

           //     var canvas = document.getElementById('myCanvas');
                //   var context = canvas.getContext('2d');

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

                var i;
                for (i = 0; i < person.d.length; i++) {
                    //alert(person.d[i].URL);
                    var image = new Image();
                    image.src = person.d[i].URL;

                    var PosX = person.d[i].PosX;
                    var PosY = person.d[i].PosY;

                    fabric.Image.fromURL(image.src, function (oImg) {
                        oImg.set('Left',PosX).set('top',PosY);
                        canvas.add(oImg);
                    });
                }
           }
        });
    });

</script>

1 个答案:

答案 0 :(得分:1)

您是否尝试过添加?:

canvas.renderAll();

或者,在实例化canvas元素后设置以下内容?:

canvas.renderOnAddition = true;