Canvas Responsive - Fabricjs
Canvas Responsive - Fabricjs
我尝试让响应式画布遵循此主题 1 和主题 2
我正在尝试让所有设备的响应式画布。
我知道这是可能的,但我很难找到解决方案。
按照上面的两个主题,我尝试在javascript中设置最大画布大小的宽度和高度。并且在每个设备的css中具有不同的画布视图大小,即使更改CSS显示大小,JavaScript中定义的实际大小也必须保留
我正在使用织物.js
溶液
注意:由于帖子中的预览,考虑宽度 360px 的堆栈溢出视图
var canvas = this.__canvas = new fabric.StaticCanvas ('c');
canvas.setHeight(600);
canvas.setWidth(800);
canvas.setBackgroundImage('http://lorempixel.com/500/500/animals', canvas.renderAll.bind(canvas), { width: 800,height: 600 });
var text = new fabric.Text('Hello', { left: 100, top: 100, fill: 'blue', });
canvas.add(text);
#c{
border:1px solid red;
top:22px;
left:0px;
height: 100%;
width: 99%;
}
@media screen and (min-width: 360px) {
#c { -webkit-transform : scale(0.4);
-webkit-transform-origin : 0 0; }
}
@media screen and (min-width: 768px) {
#c { -webkit-transform : scale(0.45);
-webkit-transform-origin : 0 0; }
}
@media screen and (min-width: 992px) {
#c { -webkit-transform : scale(0.5);
-webkit-transform-origin : 0 0;}
}
@media screen and (min-width: 1200px) {
#c { -webkit-transform : scale(0.5);
-webkit-transform-origin : 0 0;}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.5.0/fabric.js"></script>
<canvas id="c"></canvas>
我的问题中的解决方案。在主题 1 中,我找到了它:
X4V1 在 20:24 回答 Jun 16 '15
我找到了一个技巧来做到这一点,而不必复制画布。 这个解决方案非常接近css zoom属性,但事件是 正确处理。
下面是显示画布一半大小的示例:
-webkit-transform: scale(0.5); -webkit-transform-origin : 0 0;
相关文章:
- FabricJs-限制主对象内添加对象的移动区域
- 为什么引导程序下拉菜单只有在包含bootstrap-responsive.css时才起作用
- Twitter Bootstrap 2.1.0子菜单在Responsive上看起来很混乱
- FabricJS剪贴板实现(复制/粘贴)
- 如何在fabricjs中嵌入图像base64将画布转换为SVG
- FabricJS-组选择使对象在选择时处于最前面
- 调整Fabricjs的背景图像大小
- 为什么在fabricjs中可选择的不适用于一组圆
- 创建“;工具;在FabricJS中
- 如何使用多个jquery版本,以便Responsive Slides.js工作
- Fabricjs在绘图时连接线条
- 如何使用fabricjs在图像中插入填充颜色
- 在组上添加一个圆圈,单击未正确显示 FabricJS
- 在鼠标悬停时显示对象的边框(Fabricjs)
- FabricJS CurvedText对象(扩展)在更新间距和文本属性时未显示
- Angular Material Tabs内部的Fabricjs画布;不起作用
- Fabricjs路径在鼠标悬停之前不会渲染
- FabricJS将图像添加到组会导致奇怪的控制行为
- 无法选择使用fabricjs添加的对象
- Canvas Responsive - Fabricjs