程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> GDI+ 學習記錄(22): 輸出文本<1>

GDI+ 學習記錄(22): 輸出文本<1>

編輯:Delphi

//輸出文本var
 g: TGPGraphics;
 sb: TGPSolidBrush;
 fontFamily: TGPFontFamily;
 font: TGPFont;
begin
 g := TGPGraphics.Create(Canvas.Handle);
 sb := TGPSolidBrush.Create(MakeColor(0,0,255));
 fontFamily := TGPFontFamily.Create('宋體');
 font := TGPFont.Create(fontFamily, 48, FontStyleRegular, UnitPixel);
 {參數 3 參考: 文本樣式類型表; 參數 4 參考: 坐標單位類型表}
 g.DrawString('Hello World!', -1, font, MakePoint(10.0,10.0), sb);
 {參數 2 是輸出文本的長度, -1 表示全部輸出;
  參數 4 中的坐標不能用整數, 因為函數指定類型是: TGPRectF}
 sb.Free;
 fontFamily.Free;
 font.Free;
 g.Free;
end;
//簡單輸出文本var
 g: TGPGraphics;
 sb: TGPSolidBrush;
 font: TGPFont;
begin
 g := TGPGraphics.Create(Canvas.Handle);
 sb := TGPSolidBrush.Create(MakeColor(255,0,0));
 font := TGPFont.Create('宋體',32.0);
 g.DrawString('再見, 2007!', -1, font, MakePoint(10.0,10.0), sb);
 sb.Free;
 font.Free;
 g.Free;
end;
//使用窗體字體屬性輸出文本var
 g: TGPGraphics;
 sb: TGPSolidBrush;
 font: TGPFont;
begin
 g := TGPGraphics.Create(Canvas.Handle);
 sb := TGPSolidBrush.Create(MakeColor(255,0,0));
 font := TGPFont.Create(Self.Canvas.Handle); //根據窗體的字體屬性建立
 g.DrawString('再見, 2007!', -1, font, MakePoint(10.0,10.0), sb);
 sb.Free;
 font.Free;
 g.Free;
end;
//文本呈現質量var
 g : TGPGraphics;
 FontFamily: TGPFontFamily;
 Font: TGPFont;
 sb: TGPSolidBrush;
begin
 g := TGPGraphics.Create(Canvas.Handle);
 FontFamily := TGPFontFamily.Create('Times New Roman');
 Font := TGPFont.Create(FontFamily, 32, FontStyleRegular, UnitPixel);
 sb := TGPSolidBrush.Create(MakeColor(255, 0, 0, 255));
 g.SetTextRenderingHint(TextRenderingHintSingleBitPerPixel);
 g.DrawString('SingleBitPerPixel', -1, font, MakePoint(10.0, 10.0), sb);
 g.SetTextRenderingHint(TextRenderingHintAntiAlias);
 g.DrawString('AntiAlias', -1, font, MakePoint(10.0, 60.0), sb);
 g.Free;
 FontFamily.Free;
 Font.Free;
 sb.Free;
end;
文本樣式類型表:

Delphi 微軟 說明 FontStyleBold Bold 加粗文本。 FontStyleItalic Italic 傾斜文本。 FontStyleRegular Regular 普通文本。 FontStyleStrikeout Strikeout 中間有直線通過的文本。 FontStyleUnderline Underline 帶下劃線的文本。坐標單位類型表: Delphi 微軟 說明 UnitDisplay Display 指定顯示設備的度量單位。通常,視頻顯示使用的單位是像素;打印機使用的單位是 1/100 英寸。 UnitDocument Document 將文檔單位(1/300 英寸)指定為度量單位。 UnitInch Inch 將英寸指定為度量單位。 UnitMillimeter Millimeter 將毫米指定為度量單位。 UnitPixel Pixel 將設備像素指定為度量單位。 UnitPoint Point 將打印機點(1/72 英寸)指定為度量單位。 UnitWorld World 將世界坐標系單位指定為度量單位。文本呈現質量模式: Delphi 微軟 說明 TextRenderingHintAntiAlias AntiAlias 在無提示的情況下使用每個字符的消除鋸齒效果標志符號位圖來繪制字符。由於采用了 AntiAlias,質量會得到改善。由於關閉了提示,主干寬度差可能會比較明顯。 TextRenderingHintAntiAliasGridFit AntiAliasGridFit 在有提示的情況下使用每個字符的消除鋸齒效果標志符號位圖來繪制字符。由於采用了 AntiAlias,質量會得到大大改善,但同時會增加性能成本。 TextRenderingHintClearTypeGridFit ClearTypeGridFit 在有提示的情況下使用每個字符的標志符號 ClearType 位圖來繪制字符。這是質量最高的設置。用於利用 ClearType 字體功能。 TextRenderingHintSingleBitPerPixel SingleBitPerPixel 使用每個字符的標志符號位圖來繪制字符。不使用提示。 TextRenderingHintSingleBitPerPixelGridFit SingleBitPerPixelGridFit 使用每個字符的標志符號位圖來繪制字符。提示用於改善字符在主干和彎曲部分的外觀。 TextRenderingHintSystemDefault SystemDefault 在有系統默認呈現提示的情況下使用每個字符的標志符號位圖來繪制字符。將采用用戶為系統選擇的任何字體修勻設置來繪制文本。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved