在通常的画布css宽度和客户端宽度可能不相等,如何在Fabricjs上得到这个? 举个例子:我想要一个内部有1280 * 720px图像的640 * 360px画布。 我知道我可以缩放图像,但dataUrl会给我一张更小的图片,不是吗?
In a usual canvas css width and client width could be not equal to each other, how to get this on Fabricjs? As an example: I want 640*360px canvas on a page with 1280*720px image inside. I know I could scale image, but dataUrl will give me a smaller picture, isn't it?
最满意答案
有一个解决方案 。 您可以使用css大小初始化结构js,使用带有backstoreOnly标志的setDimensions或具有所需客户端大小的init,并使用带有cssOnly标志的setDimensions 。 示例#1:
var canvas = new fabric.Canvas('c', {width: 640, height: 360}); canvas.setDimension({width: 1280, height: 720}, {backstoreOnly: true});示例#2:
var canvas = new fabric.Canvas('c', {width: 1280, height: 720}); canvas.setDimension({width: '640px', height: '360px'}, {cssOnly: true});There is a solution. You could init Fabric.js with CSS sizes and then setDimensions with backstoreOnly flag or init with desired client size and use setDimensions with cssOnly flag. Example #1:
var canvas = new fabric.Canvas('c', {width: 640, height: 360}); canvas.setDimensions({width: 1280, height: 720}, {backstoreOnly: true});Example #2:
var canvas = new fabric.Canvas('c', {width: 1280, height: 720}); canvas.setDimensions({width: '640px', height: '360px'}, {cssOnly: true});更多推荐
发布评论