一、概述
最近在使用Direct2D和DirectWrite寫引擎,在引擎中需要實(shí)現(xiàn)文本標(biāo)簽控件。但是文本標(biāo)簽的尺寸最好不是由我們?nèi)藶橹付ǖ模蝗坏脑捑蜁?huì)出現(xiàn)標(biāo)簽中文本溢出、空白存留等等問題,這樣很影響美觀。這就需要我們在文本標(biāo)簽的創(chuàng)建時(shí)根據(jù)文本的字體格式、文字排版等等因素來確定標(biāo)簽大小,而不是人為地指定大小,即實(shí)現(xiàn)標(biāo)簽大小的自適應(yīng)功能(根據(jù)文本的內(nèi)容、字體、格式等等因素得出的寬高來設(shè)置標(biāo)簽的大小)。
然而,想要實(shí)現(xiàn)標(biāo)簽大小的自適應(yīng)功能,就需要測量Direct2D文本的大小。但是,如何測量Direct2D文字的大小呢,我在Direct2D中找了很久也沒有找到合適的方法,在搜索引擎中也沒有找到理想的解決方法。最后,在DirectWrite的MSDN文檔中找到了解決方法。
這篇文章就來介紹一下怎樣使用DirectWrite來測量Direct2D文本的大小。
二、解決方法
以下是我實(shí)現(xiàn)的一段用于測量文本寬高尺寸的函數(shù),先貼代碼:
1
2
3
延伸閱讀
我想了解如何學(xué)習(xí) |