再学 GDI+[60]: TGPGraphics.SetSmoothingMode - 绘图质量
再学 GDI+[60]: TGPGraphics.SetSmoothingMode - 绘图质量
涂孟超 发表于3年前
再学 GDI+[60]: TGPGraphics.SetSmoothingMode - 绘图质量
  • 发表于 3年前
  • 阅读 5
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

本例效果图:



代码文件:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses GDIPOBJ, GDIPAPI;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ListBox1.Align := alRight;
  with ListBox1.Items do
  begin
    Add('SmoothingModeInvalid    ');       
    Add('SmoothingModeDefault    ');
    Add('SmoothingModeHighSpeed  ');     
    Add('SmoothingModeHighQuality');   
    Add('SmoothingModeNone       ');
    Add('SmoothingModeAntiAlias  ');  
  end;
end;

procedure TForm1.FormPaint(Sender: TObject);
var
  g: TGPGraphics;
  p: TGPPen;
begin
  g := TGPGraphics.Create(Canvas.Handle);
  p := TGPPen.Create(aclRed, 2);

  g.SetSmoothingMode(ListBox1.ItemIndex - 1);
  g.DrawEllipse(p, 10, 10, ClientWidth - ListBox1.Width - 20, ClientHeight - 20);
  g.DrawLine(p, 0, 0, ClientWidth - ListBox1.Width, ClientHeight);
  g.DrawLine(p, ClientWidth - ListBox1.Width, 0, 0, ClientHeight);

  p.Free;
  g.Free;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
  Repaint;
end;

end.

 
 
 
 
 

 

 

  
窗体文件:
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 108
  ClientWidth = 286
  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 ListBox1: TListBox
    Left = 133
    Top = 8
    Width = 145
    Height = 73
    ItemHeight = 13
    TabOrder = 0
    OnClick = ListBox1Click
  end
end

 
 
 
 
 

 

 

  
绘图质量参数:
SmoothingModeInvalid     = -1; {指定一个无效模式}
SmoothingModeDefault     = 0;  {指定不消除锯齿}
SmoothingModeHighSpeed   = 1;  {指定高速度、低质量呈现}
SmoothingModeHighQuality = 2;  {指定高质量、低速度呈现}
SmoothingModeNone        = 3;  {指定不消除锯齿}
SmoothingModeAntiAlias   = 4;  {指定消除锯齿的呈现}

 
 
 
 
 

 

 

  
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 12
博文 2004
码字总数 14107
×
涂孟超
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: