需要说明的是,在GDI+中,我们可以通过SetTextRenderingHint来控制文本输出的质量。例如下面的代码,其结果如图7.15所示。
Graphics graphics( pDC->m_hDC );
FontFamily fontFamily(L"楷体_GB2312"); graphics.SetTextRenderingHint(TextRenderingHintSingleBitPerPixel); graphics.SetTextRenderingHint(TextRenderingHintSingleBitPerPixelGridFit); graphics.SetTextRenderingHint(TextRenderingHintAntiAliasGridFit); |
文本格式化属性
文本的格式属性通常包括对齐方式、字符间隔以及文本调整等。GDI+提供StringFormat类来控制这些格式属性,通常我们调用以下几个函数来进行相关属性设置。
Status SetAlignment( StringAlignment align); Status SetLineAlignment( StringAlignment align); |
该函数用来设置文本对齐方式,align可以是StringAlignmentNear(左对齐或右对齐,取决于书写方向是从左到右还是从右到左)、StringAlignmentCenter(居中)或StringAlignmentFar(两端对齐)。
Status SetFormatFlags( INT flags ); |
该函数用来设置文本格式化标志,flags可以是StringFormatFlagsDirectionRightToLeft(水平阅读方 向是从右向左)和StringFormatFlagsDirectionVertical(垂直文本)等值。例如下面的代码,其结果如图7.16所示。
Graphics graphics( pDC->m_hDC ); SolidBrush solidBrush(Color::Blue); FontFamily fontFamily(L"楷体_GB2312"); Font font(&fontFamily, 16, FontStyleRegular, UnitPoint); StringFormat stringFormat; graphics.DrawString( string, (INT)wcslen(string), &font, |