【发布时间】:2018-02-05 02:52:25
【问题描述】:
我正在使用fabricjs 1.7.17,并且在IE Edge、Chrome和Firefox上看到了这个问题。
在 HTML 中设置画布的宽度和高度为 768 像素。
在我的 fabricjs 画布初始化中,我有:
editor.canvas = new fabric.Canvas('editor')
editor.canvas.setDimensions({
width: 1080,
height: 1080,
allowTouchScrolling: false,
backgroundColor: 'rgba(55, 55, 55, .33)',
rotationCursor: 'url(/static/img/rotate.cur) 10 10, crosshair'
}, {backstoreOnly: true})
问题是当您调用 editor.canvas.toDataURL() 方法时,大小从 768px 变为 1080px
如果您调用浏览器的原生 canvas.toDataURL() 方法,大小不会发生跳跃。
有人碰到这个并有可能的解决办法吗?
这是一个简化的 jsfiddle: https://jsfiddle.net/m8dhmbtu/23/
点击“Native Canvas.toDataURL()”,你会得到结果到console.log,预览窗口中显示的画布不会有任何变化。
点击“Fabricjs canvas.toDataURL()”,你也会得到console.log的结果(相同);您还会在预览窗口的大小上得到一个跳跃……这就是我想要阻止的。
【问题讨论】:
标签: fabricjs