unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    ColorListBox1: TColorListBox;
    TrackBar1: TTrackBar;
    procedure FormCreate(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
    procedure ColorListBox1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
uses
  GDIPOBJ,GDIPAPI;
procedure TForm1.ColorListBox1Click(Sender: TObject);
begin
  Repaint;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Self.Position:=poDesktopCenter;
  ColorListBox1.Align:=alRight;
  TrackBar1.Max:=255;
  TrackBar1.Min:=0;
  TrackBar1.ShowSelRange:=False;
  TrackBar1.PageSize:=20;
  TrackBar1.Position:=TrackBar1.Max;
end;

procedure TForm1.FormPaint(Sender: TObject);
var
  g:TGPGraphics;
  R:TGPRect;
  crl:TGPColor;
  alpha:Byte;
  sb:TGPSolidBrush;
begin
  Form1.DoubleBuffered:=True;
  g:=TGPGraphics.Create(Canvas.Handle);
  g.Clear(aclWhite);

  R:=MakeRect(20,20,250,200);
  crl:=ColorRefToARGB(ColorListBox1.Selected);
  alpha:=TrackBar1.Position;
  crl:=MakeColor(alpha,GetRed(crl),GetGreen(crl),GetBlue(crl));
  sb:=TGPSolidBrush.Create(crl);

  g.FillRectangle(sb,R);

  sb.Free;
  g.Free;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  Repaint;
  Text:=Format('透明度:%d',[TrackBar1.Position]);
end;

end.

相关文章:

  • 2022-12-23
  • 2021-12-15
  • 2021-05-07
  • 2022-01-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-22
  • 2022-12-23
  • 2021-12-22
相关资源
相似解决方案