程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi 與 DirectX 之 DelphiX(9): 透明色與是否透明

Delphi 與 DirectX 之 DelphiX(9): 透明色與是否透明

編輯:Delphi

TDXImageList.Items 中的每個 TPictureCollectionItem 的默認透明色是黑色, 並默認透明.

  本例使用的測試圖片: http://files.cnblogs.com/del/Transparent.rar

  本例效果圖:

  代碼文件:

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:TempTransparent.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.


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved