使用fabricjs中的所有对象调整整个画布的大小/缩放而不会降低质量

Luk*_*tig 2 resize canvas scale fabricjs reactjs

有没有办法缩放/调整在fabric.js中制作的整个画布?<canvas className="canvas" ref="canvas" width="895" height="560"></canvas>然后我const canvas = new fabric.Canvas(this.refs.canvas),可以更改画布元素和其中的所有对象的宽度和高度吗?

Pav*_*lov 5

这个问题已经回答了很多次。我的观点的最佳答案是由Fabricjs贡献者之一Andrea Bogazzi在这里提供的:https://stackoverflow.com/a/35019311/3710047

基本上,您可以使用fabricjs画布方法:

canvas.setZoom(val);
canvas.setWidth(originalWidth * canvas.getZoom());
canvas.setHeight(originalHeight * canvas.getZoom());
Run Code Online (Sandbox Code Playgroud)

  • 这不是只是放大对象,而不是实际缩放对象吗? (4认同)