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

再學GDI+[45]: 文本輸出 - 文本呈現質量<1>

編輯:Delphi

本例效果圖:

代碼文件: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 字體功能。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved