博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
再学 GDI+[60]: TGPGraphics.SetSmoothingMode - 绘图质量
阅读量:5771 次
发布时间:2019-06-18

本文共 2070 字,大约阅读时间需要 6 分钟。

  hot3.png

本例效果图:
26153434_CwMN.gif

代码文件:

unit Unit1;interfaceuses  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  endend
绘图质量参数:

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

转载于:https://my.oschina.net/hermer/blog/319943

你可能感兴趣的文章
Microsoft发布了Azure Bot Service和LUIS的GA版
查看>>
Google发布Puppeteer 1.0
查看>>
.NET开源现状
查看>>
可替换元素和非可替换元素
查看>>
2016/08/25 The Secret Assumption of Agile
查看>>
(Portal 开发读书笔记)Portlet间交互-PortletSession
查看>>
搭建vsftpd服务器,使用匿名账户登入
查看>>
AMD改善Linux驱动,支持动态电源管理
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
Java虚拟机管理的内存运行时数据区域解释
查看>>
人人都会深度学习之Tensorflow基础快速入门
查看>>
ChPlayer播放器的使用
查看>>
js 经过修改改良的全浏览器支持的软键盘,随机排列
查看>>
Mysql读写分离
查看>>
Oracle 备份与恢复学习笔记(5_1)
查看>>
Oracle 备份与恢复学习笔记(14)
查看>>
分布式配置中心disconf第一部(基本介绍)
查看>>
Scenario 9-Shared Uplink Set with Active/Active uplink,802.3ad(LACP)-Flex-10
查看>>
UML类图中的六种关系
查看>>
探寻Interpolator源码,自定义插值器
查看>>