2016-06-01 8 views
0

¿Wie kann ich eine personalisierte Filtereigenschaft mit der Methode toDatalessSON exportieren?Benutzerdefinierte Daten aus Filter FabricJS exportieren

Ich habe dieses Canvas-Objekt, und wenn ich die Serialisierung mit ToDatelessJSON tun, ist die Eigenschaft nicht serialisieren.

{ 
     "type": "image", 
     "height": 647, 
     "fill": "rgb(0,0,0)", 
     "stroke": null, 
     "strokeWidth": 0, 
     "strokeDashArray": null, 
     "strokeLineCap": "butt", 
     "strokeLineJoin": "miter", 
     "strokeMiterLimit": 10, 
     "scaleX": 0.23, 
     "scaleY": 0.23, 
     "angle": 0, 
     "flipX": false, 
     "flipY": false, 
     "opacity": 1, 
     "shadow": null, 
     "visible": true, 
     "clipTo": null, 
     "backgroundColor": "", 
     "fillRule": "nonzero", 
     "globalCompositeOperation": "source-over", 
     "transformMatrix": null, 
     "skewX": 0, 
     "skewY": 0, 
     "lockUniScaling": false, 
     "borderColor": "rgba(102,153,255,0.75)", 
     "cornerColor": "rgba(102,153,255,0.5)", 
     "cornerSize": 13, 
     "lockMovementX": false, 
     "lockMovementY": false, 
     "lockScalingX": false, 
     "lockScalingY": false, 
     "lockScalingFlip": false, 
     "lockRotation": false, 
     "transparentCorners": true, 
     "padding": 0, 
     "hasBorders": true, 
     "hasControls": true, 
     "nombre": "Objeto_7", 
     "tipo": "", 
     "src": "cuadradito.png", 
     "filters": [ 
      { 
       "color": "#000000", 
       "image": false, 
       "mode": "multiply", 
       "alpha": 1, 
       "submode": "add" 
      } 
     ], 
     "resizeFilters": [], 
     "crossOrigin": "", 
     "alignX": "none", 
     "alignY": "none", 
     "meetOrSlice": "meet" 
    } 
], 
"background": "#ffffff" 

}

Ich möchte die Eigenschaft Submodus exportieren, wenn ich die Leinwand serialisiert. Wie kann ich das machen?

Danke zum Lesen.

Antwort

0

Hallo versuchen, die ‚toObject‘ Funktion wie,

obj.toObject = (function (toObject) { 
     return function() { 
      return fabric.util.object.extend(toObject.call(this), { 
       //here add the properties that you want to export to json object 

       filters: this.filters//this will export all the filters object 
      }); 
     }; 
    })(obj.toObject); 

außer Kraft zu setzen und dann können Sie Ihr Objekt exportieren und Ihre benutzerdefinierten Eigenschaften sehen.

Hoffnung hilft viel Glück.