2009-11-02 39 views
1

我有一個textarea我測量textWidth和textHeight,以確保用戶不能輸入更多的文字,可以適應文本區域。我還使用textHeightNow和textWidthNow擴展了textArea,它們測量textField的維度,因爲它們更新w/out需要驗證。現在,這對我使用嵌入字體的90%的偉大工程,但有巨大的襯線任何字體未在「在此文本區域F的適當的衡量,比如看:大字體在一個字體導致閃光測量尺寸不正確

alt text http://img.skitch.com/20091101-xhm5jguma1qgukg6fxrymrwr3u.jpg

你可以因爲textWidth和textWidthNow都會在不考慮大量襯線的情況下返回不正確的尺寸。文本區域的字體大小,座標和尺寸都是整數,所以這不是問題,還有其他建議?我期待看看textArea是否有一個clipContent參數,但它不(這本來不錯)。

感謝

回答

2

我碰到的這個問題之前,而據我可以告訴你有兩個選擇,他們沒有很漂亮:

  • 使用新flash.text.engine Flash Player 10 ...它很難使用,但 我認爲它會正確測量字體 (和連字)。
  • 將文本字段繪製爲位圖數據 並使用getColorBoundsRect至 確定其實際尺寸。

我結束了使用後者作爲改變整個應用程序的新引擎會困難得多。您需要調整邊距並使用較大的文本框(在某個容器內)才能正確繪製邊框,但它應該可以工作。

+0

*嘆*。我想過要走bitmapdata路線,但擔心性能,但我很高興聽到你嘗試了它的工作,我想我會放棄。 flash.text.engine很誘人,但我不想爲不同版本使用兩個swf:p 感謝您的信息。 – Shizam 2009-11-02 18:09:16