FontFamily fontFamily(L"幼圓"); // 定義"幼圓"字樣 |
Font font(&fontFamily, 12, FontStyleRegular, UnitPoint); |
Font( HDC hdc, const LOGFONTW* logfont) |
DrawString( const WCHAR* string, INT length, const Font* font, const RectF& layoutRect, const StringFormat* stringFormat, const Brush* brush ); DrawString( const WCHAR* string, INT length, const Font* font, const PointF& origin, const Brush* brush ); DrawString( const WCHAR* string, INT length, const Font* font, const PointF& origin, const StringFormat* stringFormat, const Brush* brush); |
Graphics graphics( pDC->m_hDC ); FontFamily fontFamily(L"幼圓"); Font font(&fontFamily, 20, FontStyleRegular, UnitPoint); PointF pointF(30, 10); Image image(L"image.jpg"); TextureBrush tBrush(&image); LinearGradientBrush linGrBrush( Point(30, 50), Point(100, 50), Color(255, 255, 0, 0), Color(255, 0, 0, 255)); WCHAR string[256]; wcscpy(string, L"歡迎使用GDI+!"); graphics.DrawString(string, (INT)wcslen(string), &font, pointF, &tBrush); pointF.Y += 50; graphics.DrawString(string, (INT)wcslen(string), &font, pointF, &linGrBrush); |
Graphics graphics( pDC->m_hDC ); FontFamily fontFamily(L"楷體_GB2312"); Font font(&fontFamily, 30, FontStyleRegular, UnitPixel); SolidBrush solidBrush(Color(255, 0, 0, 255)); WCHAR string1[] = L"沒有任何優化處理"; WCHAR string2[] = L"字體優化,但邊不作平滑處理"; WCHAR string3[] = L"消除走樣,且邊作平滑處理"; graphics.SetTextRenderingHint(TextRenderingHintSingleBitPerPixel); graphics.DrawString( string1, (INT)wcslen(string1), &font, PointF(10, 10), &solidBrush); graphics.SetTextRenderingHint(TextRenderingHintSingleBitPerPixelGridFit); graphics.DrawString( string2, (INT)wcslen(string2), &font, PointF(10, 50), &solidBrush); graphics.SetTextRenderingHint(TextRenderingHintAntiAliasGridFit); graphics.DrawString( string3, (INT)wcslen(string3), &font, PointF(10, 90), &solidBrush); |
Status SetAlignment( StringAlignment align); Status SetLineAlignment( StringAlignment align); |
Status SetFormatFlags( INT flags ); |
Graphics graphics( pDC->m_hDC ); SolidBrush solidBrush(Color::Blue); FontFamily fontFamily(L"楷體_GB2312"); Font font(&fontFamily, 16, FontStyleRegular, UnitPoint); StringFormat stringFormat; stringFormat.SetFormatFlags( StringFormatFlagsDirectionRightToLeft | StringFormatFlagsDirectionVertical | StringFormatFlagsNoFitBlackBox); stringFormat.SetAlignment(StringAlignmentCenter); WCHAR string[] = L"這些文字是垂直居中且是從右到左的閱讀次序, 它們是通過 \ SetFormatFlags和SetAlignment來設置的!"; graphics.DrawString( string, (INT)wcslen(string), &font, RectF(30, 30, 150, 200), &stringFormat, &solidBrush); |