2016-07-20 108 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