Delphi 与 DirectX 之 DelphiX(9): 透明色与是否透明
2009-01-13 15:24
253 查看
TDXImageList.Items 中的每个 TPictureCollectionItem 的默认透明色是黑色, 并默认透明.
本例使用的测试图片: http://files.cnblogs.com/del/Transparent.rar
本例效果图:
![](http://images.cnblogs.com/cnblogs_com/del/171104/o_0911233.gif)
代码文件:
本例使用的测试图片: http://files.cnblogs.com/del/Transparent.rar
本例效果图:
![](http://images.cnblogs.com/cnblogs_com/del/171104/o_0911233.gif)
代码文件:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DXDraws, StdCtrls, DXClass; type TForm1 = class(TForm) DXDraw1: TDXDraw; DXImageList1: TDXImageList; CheckBox1: TCheckBox; procedure FormCreate(Sender: TObject); procedure CheckBox1Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} var PicItem: TPictureCollectionItem; procedure TForm1.FormCreate(Sender: TObject); const ImgPath1 = 'C:\Temp\Transparent.bmp'; begin DXImageList1.DXDraw := DXDraw1; PicItem := TPictureCollectionItem(DXImageList1.Items.Add); PicItem.Picture.LoadFromFile(ImgPath1); PicItem.TransparentColor := $FFFFFF; {指定透明色; 我测试用的图片是白色背景的} end; procedure TForm1.CheckBox1Click(Sender: TObject); const arr: array[Boolean] of string = ('不透明', '透明'); begin DXDraw1.Surface.Fill($FF0000); PicItem.Restore; PicItem.Transparent := CheckBox1.Checked; PicItem.Draw(DXDraw1.Surface, 10, 10, 0); DXDraw1.Flip; CheckBox1.Caption := arr[CheckBox1.Checked]; end; end.
相关文章推荐
- Delphi 与 DirectX 之 DelphiX(6): 让 TDXImageList 和常规 VCL 交互使用
- Delphi 与 DirectX 之 DelphiX(17): TPictureCollectionItem.PatternWidth、PatternHeight
- Delphi 与 DirectX 之 DelphiX(19): 绘图表面(TDirectDrawSurface)如何加载图片
- Delphi 与 DirectX 之 DelphiX(22): TDirectDrawSurface.Noise();
- Delphi 与 DirectX 之 DelphiX(25): TDIB.Blur();
- Delphi 与 DirectX 之 DelphiX(30): TDIB.AddGradiantNoise();
- Delphi 与 DirectX 之 DelphiX(37): TDIB.AddRGB();
- Delphi 与 DirectX 之 DelphiX(43): TDIB.DoInvert;
- Delphi 与 DirectX 之 DelphiX(49): TDIB.DoGrayScale;
- Delphi 与 DirectX 之 DelphiX(57): TDIB.DoSplitlight();
- Delphi 与 DirectX 之 DelphiX(65): TDIB.DoBrightness();
- Delphi 与 DirectX 之 DelphiX(72): TDIB.SephiaEffect();
- Delphi 与 DirectX 之 DelphiX(78): TDIB.AntialiasedLine();
- Delphi 与 DirectX 之 DelphiX(85): TDIB.DrawTo();
- Delphi 与 DirectX 之 DelphiX(87): TDIB.DrawTransparent、DrawTranslucent、DrawAlpha();
- Delphi 与 DirectX 之 DelphiX(94): TDIB.DrawAdditive();
- Delphi 与 DirectX 之 DelphiX(4): 初识 TDXTimer
- Delphi 与 DirectX 之 DelphiX(18): TDXDraw 中描绘图片的命令
- Delphi 与 DirectX 之 DelphiX(23): TDirectDrawSurface.Blur;
- Delphi 与 DirectX 之 DelphiX(31): TDIB.Twist();