我目前正在使用HTML5畫布作爲渲染目標的JavaScript項目。爲了使我的代碼能夠很好地與我提供的(嚴格指定的)接口配合使用,我需要能夠獲取字體並提取該字體的上升和下降高度。這將使客戶能夠更準確地定位文本。我知道我可以通過設置textBaseline
屬性來更改文本的繪製位置,但實際上我需要描述這些不同高度的數字值。有沒有簡單的方法來做到這一點?如果沒有,是否有一個(希望輕量級)庫可以爲我處理?我發現的大多數建議的解決方案都是重量級的字體渲染庫,這對於這個問題似乎是巨大的矯枉過正。在JavaScript中獲取字體指標?
10
A
回答
4
HTML5的印刷度量This article討論的問題和part solution using CSS - 雖然的offsetTop等的整數四捨五入是一個問題(可能可以使用getBoundingClientRect()
得到正確的浮點值,一些瀏覽器)。
4
簡短的回答是,沒有內置的方式,你是自己排序。
因此,大多數人只是簡單地估計它們。有些人會預先計算所有的值,如果您只使用幾種字體,那麼這些值不會太多。
第三種方法是在內存中製作一個畫布並打印一些字母(例如,Q
和O
)並以編程方式嘗試使用每像素碰撞來確定上升和下降。這是一種痛苦,可能會很慢,具體取決於字體的數量和想要的準確度,但如果您不想預先計算這些值,則它是最準確的方法。
0
相關問題
- 1. 真的很慢獲取字體指標
- 2. 在javascript中獲取實體圖標url
- 3. 在鼠標指針下獲取文字
- 4. 字體指標在C
- 5. 字體指標在Flash/AS3
- 6. 在three.js中獲取字體
- 7. 在MathJax中獲取佈局指標
- 8. 在android中獲取GPS總指標
- 9. 獲取單個字形指標(.NET)
- 10. Visual Studios:獲取標準字體...文件?
- 11. JXA - 在JavaScript中獲取NSAttributedString字體度量自動化
- 12. SVG和字體指標
- 13. 如何在PostScript中獲取字符串的高度指標?
- 14. 在JavaScript中獲取標題信息
- 15. 在JavaScript中獲取時區標籤
- 16. 在標籤中獲取javascript變量值
- 17. 在jquery/Javascript中獲取父標識號
- 18. 是否可以在AS3中獲得準確的字符/字體指標?
- 19. 在具體指標
- 20. PixlUI沒有在android中獲取字體
- 21. 在C中獲取多個字體#
- 22. PDF規範中「base 14」字體的字體指標
- 23. 在指定位置獲取元素 - JavaScript
- 24. 在Javascript中,如何獲取鼠標指針所在div的當前id?
- 25. 獲取JavaScript變量在HTML身體
- 26. 獲取在JavaScript中
- 27. 在GridView中獲得指標
- 28. 從文件中獲取媒體標題
- 29. 在javascript中嵌入字體
- 30. 獲取數和平均爲具體指標分析,也休息
Mozillas貝斯平試圖解決這一問題,終於碰上與結論帆布結束的說法: 文本的寬度可以與測量曾經並將永遠不會爲文本編輯器設計。因此,要麼依靠具有相同高度和寬度的'm',要麼使用Bespin的來源或下面描述的像素測試方法,或者使用相同的文本/字體或任何其他不可靠的近似來測量關閉div。 對不起,也不喜歡幻想破滅。但是你確定你爲這條道路選擇了正確的馬? – noiv 2011-05-29 23:10:40
我目前正在研究JavaScript中的JVM實現,並將畫布作爲渲染目標。我需要實現Java字體庫,這就是爲什麼我需要這些精確的值。我在想,我會用西蒙的答案去解決問題,並通過寫出屏幕外像素和像素刮取結果來僞造實現。 :-( – templatetypedef 2011-05-29 23:53:19
我希望,你已經考慮了字體平滑處理...... – noiv 2011-05-30 00:05:41