我在C++中使用GDI +。 (這個問題也可能存在於C#中)。MeasureString()填充左側和右側的文本
我注意到,無論何時我調用Graphics :: MeasureString()或Graphics :: DrawString(),字符串都會在左側和右側用空格填充。例如,如果我使用Courier字體(不斜體!),並測量「P」,則獲得90,但「PP」會獲得150.我希望等寬字體可以給出寬度的兩倍爲「PP」。
我的問題是:這是打算或記錄的行爲,我該如何禁用?
RectF Rect(0,0,32767,32767);
RectF Bounds1, Bounds2;
graphics->MeasureString(L"PP", 1, font, Rect, &Bounds1);
graphics->MeasureString(L"PP", 2, font, Rect, &Bounds2);
margin = Bounds1.Width * 2 - Bounds2.Width;
使用TextRenderer類可以獲得更好的結果。 – Bitterblue 2013-12-02 15:01:51
TextRenderer正是我在類似情況下所需要的 – Rob 2014-07-30 10:45:36