我正在使用fabric.js
内的backbone.js
,并试图找出如何使用fabric
命令加载Base64图像:
fabric.Image.fromURL( 'url', function(img)....
当我插入静态网址时,它可以正常工作,例如:
fabric.Image.fromURL('http://www.domain.com/image.jpg', function(img) {
img.set({ left: ui.offset.left, top: ui.offset.top});
canvas.add(img);
});
但我无法成功加载Base64图像。我是怎么解决这个问题的?
答案 0 :(得分:0)
尝试:data:image/jpeg;base64,"+url
。如果这不起作用,那么您的base64
可能已损坏,或者您可能需要调整提供here的base64
到unit8
转化技术并添加图片{{3}放置在画布内的图像对象。
答案 1 :(得分:0)
确保您的数据网址符合以下格式:
上面的数据:并[d mediatype>] [; base64],<数据>
<data>
应该是有效的 base64 字符串。
如果你想测试它的结构是否没有呈现url或url不正确,请尝试在浏览器中打开整个数据网址,如果图像是正确的数据网址,浏览器将呈现图像。
fabric适用于 base64 数据网址,因为它适用于 http 图像地址。
答案 2 :(得分:0)
以上所有答案都是正确的。但如果没有例子,答案就不明显了。
fabric.Image.fromURL('data:image/png;base64,iVBORw0KGgo....', function(img) {
img.set({ left: ui.offset.left, top: ui.offset.top});
canvas.add(img);
});