如何得到某種字型中, 最大字寬? |
尚未結案
|
KuengYan
一般會員 發表:18 回覆:17 積分:7 註冊:2002-08-02 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
KuengYan
一般會員 發表:18 回覆:17 積分:7 註冊:2002-08-02 發送簡訊給我 |
TEXTMETRIC tm; if(FontDialog->Execute()){ ImagePixel->Canvas->Font->Assign(FontDialog->Font); GetTextMetrics(ImagePixel->Canvas->Handle, &tm); int nMaxCharWidth = tm.tmMaxCharWidth; }與 int nLetterWidth = ImagePixel->Canvas->TextWidth(strChar);有可能nLetterWidth 會大於nMaxCharWidth的值, 真是奇怪... |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
KuengYan
一般會員 發表:18 回覆:17 積分:7 註冊:2002-08-02 發送簡訊給我 |
引言:我未能測出您所描述的結果,可否說明一下您是選擇了那種字型,且測試了那個字元?好讓我也能模擬出您的設定條件來做相同的測試。 TextWidth() 傳回的是繪製字串的總寬度,而 TEXTMETRIC 的 tmMaxCharWidth 則是整組字型中最大寬度的單一字元寬度,如果您的測試基準不是單一字元的話,兩者的比較就失去意義了。RedSnow 您好, 基本上, 我是任選任一種字型, 然後利用TEXTMETRIC來得到所選擇字型的最大字寬, TextWidth的部份, 我當然是輸入單一個字元, 但是以widestring的型式帶入的. Yan Yan |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
KuengYan 您好: 我使用迴圈將所有字型都測試一遍之後,終於碰到您描述的情形了,但是有點奇怪,我測試了 80 種字型,結果僅有兩種字型有那種狀況,字型名稱分別是 "Led Display" 與 phony,另外我測試時,將 AnsiString, WideString 與 Char 三種類型的字樣都一起做了測試,結果 TextWidth 傳回的寬度都是相同的。 我研究了半天也一樣沒看出什麼名堂....,抱歉;沒能幫忙找出答案,僅能提供上述的測試過程與結果供您參考一下。 7 天天敲鍵盤 v 時時按滑鼠 8
|
KuengYan
一般會員 發表:18 回覆:17 積分:7 註冊:2002-08-02 發送簡訊給我 |
引言: 我使用迴圈將所有字型都測試一遍之後,終於碰到您描述的情形了,但是有點奇怪,我測試了 80 種字型,結果僅有兩種字型有那種狀況,字型名稱分別是 "Led Display" 與 phony,另外我測試時,將 AnsiString, WideString 與 Char 三種類型的字樣都一起做了測試,結果 TextWidth 傳回的寬度都是相同的。奇怪了, 為什麼你只會有二種字型會有這種現象? 我這邊幾乎每種字型都會. 請問您是以什麼字元帶入測試. 我這邊是以選定某些區段, 先將big5 -> unicode後, 再帶入測試的咧.. Yan |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |