博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
再学 GDI+[22]: TGPLinearGradientBrush - 之一: TLinearGradientMode
阅读量:6156 次
发布时间:2019-06-21

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

  hot3.png

TGPLinearGradientBrush.Create(  rect: TGPRect;            {线性渐变的界限}  color1, color2: TGPColor; {线性渐变起始色与终止色}  mode: TLinearGradientMode {渐变方向, 见下表});TGPLinearGradientBrush.Create(  rect: TGPRectF;  color1, color2: TGPColor;  mode: TLinearGradientMode);
本例效果图:
26153922_SiTb.gif

代码文件:

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, TeCanvas;type  TForm1 = class(TForm)    ComboBox1: TComboBox;    ButtonColor1: TButtonColor;    ButtonColor2: TButtonColor;    procedure FormCreate(Sender: TObject);    procedure FormPaint(Sender: TObject);    procedure ButtonColor1Click(Sender: TObject);    procedure ButtonColor2Click(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 3 do    ComboBox1.Items.Add(GetEnumName(TypeInfo(TLinearGradientMode), i));  ComboBox1.ItemIndex := 1;  ButtonColor1.Caption := '色1     ';  ButtonColor2.Caption := '色2     ';  ButtonColor1.SymbolColor := clYellow;  ButtonColor2.SymbolColor := clRed;end;procedure TForm1.FormPaint(Sender: TObject);var  g: TGPGraphics;  lb: TGPLinearGradientBrush;  c1,c2: TGPColor;  r: TGPRect;begin  g := TGPGraphics.Create(Canvas.Handle);  r := MakeRect(60, 40, ClientWidth - 120, ClientHeight - 50);  c1 := ColorRefToARGB(ButtonColor1.SymbolColor);  c2 := ColorRefToARGB(ButtonColor2.SymbolColor);  lb := TGPLinearGradientBrush.Create(r, c1, c2, TLinearGradientMode(ComboBox1.ItemIndex));  g.FillEllipse(lb, r);  lb.Free;  g.Free;end;procedure TForm1.ButtonColor1Click(Sender: TObject);begin  Repaint;end;procedure TForm1.ButtonColor2Click(Sender: TObject);begin  Repaint;end;procedure TForm1.ComboBox1Change(Sender: TObject);begin  Repaint;end;end.
窗体文件:

object Form1: TForm1  Left = 0  Top = 0  Caption = 'Form1'  ClientHeight = 197  ClientWidth = 309  Color = clBtnFace  Font.Charset = DEFAULT_CHARSET  Font.Color = clWindowText  Font.Height = -11  Font.Name = 'Tahoma'  Font.Style = []  OldCreateOrder = False  Position = poScreenCenter  OnCreate = FormCreate  OnPaint = FormPaint  PixelsPerInch = 96  TextHeight = 13  object ComboBox1: TComboBox    Left = 113    Top = 6    Width = 192    Height = 21    ItemHeight = 13    TabOrder = 0    Text = 'ComboBox1'    OnChange = ComboBox1Change  end  object ButtonColor1: TButtonColor    Left = 5    Top = 4    Width = 49    Caption = 'ButtonColor1'    TabOrder = 1    OnClick = ButtonColor1Click  end  object ButtonColor2: TButtonColor    Left = 58    Top = 4    Width = 49    Caption = 'ButtonColor2'    TabOrder = 2    OnClick = ButtonColor2Click  endend
线性渐变的方向参数:
Delphi 微软 说明
LinearGradientModeHorizontal Horizontal 指定从左到右的渐变。
LinearGradientModeVertical Vertical 指定从上到下的渐变。
LinearGradientModeForwardDiagonal ForwardDiagonal 指定从左上到右下的渐变。
LinearGradientModeBackwardDiagonal  BackwardDiagonal  指定从右上到左下的渐变。

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

你可能感兴趣的文章
《图解HTTP》1~53Page Web网络基础 HTTP协议 HTTP报文内的HTTP信息
查看>>
unix环境高级编程-高级IO(2)
查看>>
树莓派是如何免疫 Meltdown 和 Spectre 漏洞的
查看>>
雅虎瓦片地图切片问题
查看>>
HTML 邮件链接,超链接发邮件
查看>>
HDU 5524:Subtrees
查看>>
手机端userAgent
查看>>
pip安装Mysql-python报错EnvironmentError: mysql_config not found
查看>>
http协议组成(请求状态码)
查看>>
怎样成为一个高手观后感
查看>>
[转]VC预处理指令与宏定义的妙用
查看>>
MySql操作
查看>>
python 解析 XML文件
查看>>
MySQL 文件导入出错
查看>>
java相关
查看>>
由一个异常开始思考springmvc参数解析
查看>>
向上扩展型SSD 将可满足向外扩展需求
查看>>
虚机不能启动的特例思考
查看>>
SQL Server编程系列(1):SMO介绍
查看>>
在VMware网络测试“专用VLAN”功能
查看>>