Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Fabric.js自定义过滤器中使用Caman.js库_Javascript_Canvas_Html5 Canvas_Fabricjs_Camanjs - Fatal编程技术网

Javascript 在Fabric.js自定义过滤器中使用Caman.js库

Javascript 在Fabric.js自定义过滤器中使用Caman.js库,javascript,canvas,html5-canvas,fabricjs,camanjs,Javascript,Canvas,Html5 Canvas,Fabricjs,Camanjs,我正在尝试在Fabric.js中创建一个自定义过滤器。但是我想使用Caman.js的过滤器集。我觉得我离这里很近,但似乎无法让它发挥作用。有没有人有将两者结合起来的经验,或者知道我在这里可能会出什么问题 没有控制台错误。现在,我正试图用从Caman.js中呈现的新数据设置putImageData,运气不好。不过我可以在控制台中看到数据。帮忙 (function(global) { 'use strict'; var fabric = global.fabric || (gl

我正在尝试在Fabric.js中创建一个自定义过滤器。但是我想使用Caman.js的过滤器集。我觉得我离这里很近,但似乎无法让它发挥作用。有没有人有将两者结合起来的经验,或者知道我在这里可能会出什么问题

没有控制台错误。现在,我正试图用从Caman.js中呈现的新数据设置
putImageData
,运气不好。不过我可以在控制台中看到数据。帮忙

(function(global) {

    'use strict';

    var fabric  = global.fabric || (global.fabric = { });

    /**
    * Lomo filter for fabricjs
    * Example: 
    * obj.filters.push(new fabric.Image.filters.Lomo(6));
    * obj.applyFilters(canvas.renderAll.bind(canvas));
    */
    fabric.Image.filters.Lomo = fabric.util.createClass(fabric.Image.filters.BaseFilter, {

        /**
         * Filter type
         * @param {String} type
         * @default
         */
        type: 'Lomo',

        /**
         * Applies filter to canvas element
         * @memberOf fabric.Image.filters.Lomo.prototype
         * @param {Object} canvas element to apply filter to
         */
        applyTo: function(canvas) {
            var context = canvas.getContext("2d");
            var width = canvas.width;
            var height = canvas.height;
            var imageData = context.getImageData(0, 0, width, height);

            var c = Caman(canvas, function(value) {
                this.lomo().render();
            });

            Caman.Event.listen(c, 'processComplete', function(job) {         
                console.log(this.imageData);
                context.putImageData(this.imageData, 0, 0);
            });
        }

    });

    fabric.Image.filters.Lomo.fromObject = function(object) {
        return new fabric.Image.filters.Lomo(object);
    };

})(typeof exports !== 'undefined' ? exports : this);

嗨,迈克!你能让它工作吗@迈克·巴维克