2013-08-21 10 views
6

Próbuję załadować obiekt Json, który ma obiekt obrazu. Obiekt obrazu ma dane bazowe 64 jako tło. Ale nie jestem w stanie obsłużyć metody loadFromJSON.Dane obrazu Base64 nie działa z loadfromJSON w fabricjs

Kod:

var jsonDataSet = '{"objects":[{"type":"image","originX":"left","originY":"top","left":0,"top":0,"width":700,"height":600,"fill":"rgb(0,0,0)","overlayFill":null,"stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeLineJoin":"miter","strokeMiterLimit":10,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,"selectable":false,"hasControls":true,"hasBorders":true,"hasRotatingPoint":true,"transparentCorners":true,"perPixelTargetFind":false,"shadow":null,"visible":true,"clipTo":null,"src":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAn4AAAFPCAYAAADTHsP1AAAgAElEQ…Lv/vuU1wVsyvXK+Kks1f6gffSCThZ1km3u6NFklCnFes//AbZzi+iGF3/7AAAAAElFTkSuQmCC","filters":[]}],"background":""}'; 

canvas.loadFromJSON (jsonDataSet); 

canvas.renderAll(); 

Jest wyświetlając błąd jak "Error loading data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAn4AAAFPCAYAAADTHsP1AAAgAElEQ…Lv/vuU1wVsyvXK+Kks1f6gffSCThZ1km3u6NFklCnFes//AbZzi+iGF3/7AAAAAElFTkSuQmCC "

Odpowiedz

4

Jeśli korzystasz z najnowszej wersji fabric.js jest to błąd. Naprawiłem to za pomocą żądania ściągnięcia # 800: https://github.com/kangax/fabric.js/pull/800.

BTW Twój base64 daneURL powyższego kodu jest nieprawidłowy - ma trzy kropki (lEQ ... Lv/vuU). Prawdopodobnie efekt uboczny kopiowania.

+1

Dziękuję bardzo. Dodano twoje zmiany i działa zgodnie z oczekiwaniami. – user2571818

+0

Trzy kropki nie są efektem ubocznym kopiowania, ale są faktycznie dodawane przez plik fabric.js. Sprawdź dane wyjściowe w konsoli: http://jsfiddle.net/h9q6Lorg/ – BruceHill

+2

Nie są one dodawane przez plik fabric.js. To błąd/ograniczenie pliku console.log w chrome devtools (https://code.google.com/p/chromium/issues/detail?id=464560). http://jsfiddle.net/devxyrro/ – Kienz

Powiązane problemy