3
我正在使用畫布創建一些圖像。我想能夠在給定的矩形繪製文本(即偏移x,偏移Y,寬度和高度)畫布和文本到儘可能大而不溢出,並且如果可能的話,用自動換行。可能嗎?如何在畫布上的給定矩形中繪製文本擬合?
我正在使用畫布創建一些圖像。我想能夠在給定的矩形繪製文本(即偏移x,偏移Y,寬度和高度)畫布和文本到儘可能大而不溢出,並且如果可能的話,用自動換行。可能嗎?如何在畫布上的給定矩形中繪製文本擬合?
這是可能的。
無包裝: 可以使用CanvasRenderingContext2D.measureText()
方法,它接受一個字符串,並返回一個對象{寬度:浮子}。你必須通過使用字體大小進行一些數學來找出高度。然後用二進制搜索的方式枚舉字體大小。很快你會發現畫布的最佳尺寸。
包裝: 你必須找到字符串中的包裝點,並計算它們的寬度和高度,你的自我。
但有一個更好的更簡單的方法來做到這一點。
創建一個隱藏(visibility:hidden的並不顯示:無)DIV,定義其寬度,並把你的文字裏。枚舉字體大小,並檢查它是否溢出或增長過高。
隱藏的DIV是一個非常好的技巧! – konikos