【问题标题】:Remove drag property from uploaded image in canvas html5 (set area to uploaded image)从画布html5中上传的图像中删除拖动属性(将区域设置为上传的图像)
【发布时间】:2016-01-22 22:03:53
【问题描述】:

我正在使用fabric js 在画布中上传图像。现在它是一个可拖动的,但我想删除拖动属性并将区域设置为画布上上传的图像。

HTML:

 <script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.min.js"></script>
        <canvas id="canvas" width="750" height="550"></canvas>
        <input type="file" id="file">

CSS:

 canvas{
                border: 1px solid black;
            }

JAVA 脚本:

 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,width: 250, height: 200, angle: 00}).scale(0.9);
                        canvas.add(oImg).renderAll();
                        var a = canvas.setActiveObject(oImg);
                    });

                };
                reader.readAsDataURL(file);  
                var dataURL = canvas.toDataURL({
                    format: 'png',
                    opacity: 0.9
                });

            });

 
 
 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,width:200,height:200, angle: 00}).scale(0.9);
                        canvas.add(oImg).renderAll();
                        var a = canvas.setActiveObject(oImg);
                    });

                };
                reader.readAsDataURL(file);  
                var dataURL = canvas.toDataURL({
                    format: 'png',
                    opacity: 0.9
                });
                console.log("Canvas Image " + dataURL);
            });
 canvas{
                border: 1px solid black;
            }
 <script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.min.js"></script>
        <canvas id="canvas" width="750" height="550"></canvas>
        <input type="file" id="file">

我只想删除上传图片的拖动属性。

【问题讨论】:

    标签: javascript jquery html canvas fabricjs


    【解决方案1】:

    只需用

    锁定它
    .lockMovementX = true;
    .lockMovementY = true;
    

    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,width:200,height:200, angle: 00}).scale(0.9);
                            oImg.lockMovementX = true;
                            oImg.lockMovementY = true;
                            canvas.add(oImg);
                            var a = canvas.setActiveObject(oImg);
                        });
    
                    };
                    reader.readAsDataURL(file);  
                    var dataURL = canvas.toDataURL({
                        format: 'png',
                        opacity: 0.9
                    });
                    console.log("Canvas Image " + dataURL);
                });
    canvas{
                    border: 1px solid black;
                }
    <script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.min.js"></script>
            <canvas id="canvas" width="750" height="550"></canvas>
            <input type="file" id="file">

    【讨论】:

    • 我们可以锁定增加宽度吗?
    • .lockScalingX = true :)
    • 是的,谢谢。我们可以添加缩放此图像。而是传播区域。它应该分布在存在的区域。
    • 请使用本网站,因为它应该被使用。如果您有不同的问题,请打开另一个问题,我或其他人会再次帮助您。如果我们将答案放在 cmets 中,没有人会找到它们,这种努力就白费了。
    猜你喜欢
    • 1970-01-01
    • 2012-12-04
    • 2012-08-16
    • 2012-06-10
    • 1970-01-01
    • 2013-02-18
    • 2011-03-28
    • 2016-04-15
    • 1970-01-01
    相关资源
    最近更新 更多