我有畫布,我可以在其中繪製內容。內容的寬度是恆定的,但高度會發生變化。這是一個列表 - 一個地圖傳說。問題是我不知道我會事先得到多少物品,既不是他們的大小。根據內容動態調整畫布大小
如果我將高度設置爲例如。 800對於更長的列表來說很好,但對於只有少數幾個元素的列表來說,它太高了,並且很多空白仍留在底部,再加上不必要的滾動(它被放置在div
和overflow: auto
之間,所以我可以在更長的圖例出現)。
但是我知道最後一個像素Y位置之後我畫出了每一個元素。是否有可能以某種方式修剪剩餘空間或強制調整畫布大小?
編輯:代碼
<div class="legend">
some stuff here
<div id="canvas">
<canvas id="cv"></canvas>
</div>
</div>
#canvas {
width: 100%;
max-height: 100%;
}
我設置使用#canvas
高度:
document.getElementById('canvas').style.height = finalSize
瞭解總高度之後。
調整畫布大小將清除其內容首先在臨時畫布上繪製項目,調整可見畫布的大小然後在可見畫布上繪製臨時畫布的內容。 – Andreas