2016-07-20 134 views
0

我试图设置Literally Canvas绘制区域高度为一些自定义值(让它为500px)。在文档中指出:如何更改默认的Literally Canvas绘图区域高度?

要更改图纸的高度,将传递给LC.init()元素或做出反应,从字面上包含画布组件上的CSS规则的高度。

所以我曾尝试以下:

HTML

<div class='my-drawing' style='height: 500px;'></div> 

JS

LC.init(document.getElementsByClassName('my-drawing')[0]) 

但高度仍是默认369pxdiv的高度为500px

编辑

新增的jsfiddle:https://jsfiddle.net/w5kfb3qx/

有什么建议?

+0

canvas.height = 500将像素高度(RES解决方案),canvas.style.height =“500px”设置画布显示高​​度。宽度相同 – Blindman67

+0

@ Blindman67,好的,官方文档如何? “**要更改绘图**的高度,请在传递给LC.init()或包含Literally Canvas的React组件的元素上设置** CSS height **规则。做类似$('。my-div')。find('canvas')。height(500);看起来更像是一种黑客,而不是预期的方式。 – ololoepepe

+0

这是设置画布分辨率的HTML5标准方式。它不能以任何其他方式完成,有时任何lib/framework/etc都必须直接设置画布宽度和高度属性来更改分辨率。 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas有一些信息,但规范“HTML5”标准的链接似乎已被破坏。 – Blindman67

回答

1

终于找到了解决办法。

要使canvas正确调整大小,必须在Literally Canvas实例上调用respondToSizeChange方法。

var lc = LC.init(document.getElementsByClassName('my-drawing')[0]); 

lc.respondToSizeChange(); 

每次调整父元素的大小时调用此方法也是一个好主意。

完整的示例:https://jsfiddle.net/cy5cknq7/3/

注意:此方法不是记录。所以它更像是一种黑客攻击。

1

要改变的(图中1)的高度使用内嵌式:

 

    <div class='my-drawing' style='height: 500px;'></div> 

要改变的高度(2在画面)此代码:

 

    LC.init(element, {imageSize: {width: 500, height: null}}) 

和使用平移按钮(左面板)

enter image description here