2013-08-21 78 views
6

Tôi đang cố tải đối tượng json có đối tượng hình ảnh. Đối tượng hình ảnh có dữ liệu hình ảnh cơ sở 64 làm nền. Nhưng tôi không thể laod phương pháp loadFromJSON.Dữ liệu ảnh Base64 không hoạt động với loadfromJSON trong fabricjs

Code:

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(); 

Nó được hiển thị một lỗi như "Error loading data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAn4AAAFPCAYAAADTHsP1AAAgAElEQ…Lv/vuU1wVsyvXK+Kks1f6gffSCThZ1km3u6NFklCnFes//AbZzi+iGF3/7AAAAAElFTkSuQmCC "

Trả lời

4

Nếu bạn sử dụng phiên bản mới nhất fabric.js đó là một lỗi. Tôi đã sửa lỗi đó bằng yêu cầu kéo # 800: https://github.com/kangax/fabric.js/pull/800.

BTW dữ liệu base64 của bạnURL của mã trên không đúng - nó có ba dấu chấm (lEQ… Lv/vuU). Có thể là một tác dụng phụ từ việc sao chép.

+1

Cảm ơn bạn rất nhiều. Đã thêm các thay đổi của bạn và nó đang hoạt động như mong đợi. – user2571818

+0

Ba dấu chấm không phải là một tác dụng phụ của việc sao chép chúng thực sự được thêm vào bởi fabric.js. Nhìn vào đầu ra trong bảng điều khiển ở đây: http://jsfiddle.net/h9q6Lorg/ – BruceHill

+2

Chúng không được thêm bởi fabric.js. Đó là một lỗi/hạn chế của console.log trong chrome devtools (https://code.google.com/p/chromium/issues/detail?id=464560). http://jsfiddle.net/devxyrro/ – Kienz