本例效果圖:
代碼文件:unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
procedure FormPaint(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses GDIPOBJ, GDIPAPI, TypInfo;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
for i := 0 to 5 do
ComboBox1.Items.Add(GetEnumName(TypeInfo(TTextRenderingHint), i));
ComboBox1.ItemIndex := 0;
end;
procedure TForm1.FormPaint(Sender: TObject);
var
g: TGPGraphics;
b: TGPBrush;
font: TGPFont;
begin
g := TGPGraphics.Create(Canvas.Handle);
b := TGPSolidBrush.Create(aclRed);
font := TGPFont.Create('Arial Black', 150);
g.SetTextRenderingHint(TTextRenderingHint(ComboBox1.ItemIndex));
g.DrawString('@', -1, font, MakePoint(0.0,-40.0), b);
font.Free;
b.Free;
g.Free;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
Repaint;
end;
end.
窗體文件:object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 212
ClientWidth = 221
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Position = poDesktopCenter
OnCreate = FormCreate
OnPaint = FormPaint
PixelsPerInch = 96
TextHeight = 13
object ComboBox1: TComboBox
Left = 8
Top = 3
Width = 207
Height = 21
ItemHeight = 13
TabOrder = 0
Text = 'ComboBox1'
OnChange = ComboBox1Change
end
end
文本呈現質量模式:
Delphi 微軟 說明 TextRenderingHintSystemDefault SystemDefault 在有系統默認呈現提示的情況下使用每個字符的標志符號位圖來繪制字符。 將采用用戶為系統選擇的任何字體修勻設置來繪制文本。 TextRenderingHintSingleBitPerPixelGridFit SingleBitPerPixelGridFit 使用每個字符的標志符號位圖來繪制字符。提示用於改善字符在主干和彎曲 部分的外觀。 TextRenderingHintSingleBitPerPixel SingleBitPerPixel 使用每個字符的標志符號位圖來繪制字符。不使用提示。 TextRenderingHintAntiAliasGridFit AntiAliasGridFit 在有提示的情況下使用每個字符的消除鋸齒效果標志符號位圖來繪制字符。 由於采用了 AntiAlias,質量會得到大大改善,但同時會增加性能成本。 TextRenderingHintAntiAlias AntiAlias 在無提示的情況下使用每個字符的消除鋸齒效果標志符號位圖來繪制字符。 由於采用了 AntiAlias,質量會得到改善。由於關閉了提示,主干寬度差可能會比較明顯。 TextRenderingHintClearTypeGridFit ClearTypeGridFit 在有提示的情況下使用每個字符的標志符號 ClearType 位圖來繪制字符。這 是質量最高的設置。用於利用 ClearType 字體功能。