Delphix (87) of Delphi and DirectX: tdib. drawtransparent, drawtranslucent, drawalpha ();

Source: Internet
Author: User
Tags transparent color
Tdib. drawtransparent: transparent according to the specified transparent color;
Tdib. drawtranslucent: transparent Based on the specified transparent color, and then translucent;
DiB. drawalpha: first transparent Based on the specified transparent color, then transparent Based on the specified transparency.
In this example:


Code file:
unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, DIB, StdCtrls;type  TForm1 = class(TForm)    DXPaintBox1: TDXPaintBox;    Button1: TButton;    Button2: TButton;    Button3: TButton;    Button4: TButton;    Button5: TButton;    Button6: TButton;    Button7: TButton;    procedure FormCreate(Sender: TObject);    procedure FormDestroy(Sender: TObject);    procedure Button1Click(Sender: TObject);    procedure Button2Click(Sender: TObject);    procedure Button3Click(Sender: TObject);    procedure Button4Click(Sender: TObject);    procedure Button5Click(Sender: TObject);    procedure Button6Click(Sender: TObject);    procedure Button7Click(Sender: TObject);  end;var  Form1: TForm1;implementation{$R *.dfm}var  dib: TDIB;procedure TForm1.FormCreate(Sender: TObject);begin  dib := TDIB.Create;  dib.SetSize(DXPaintBox1.Width, DXPaintBox1.Height, 24);  dib.Fill(0);  dib.Canvas.Brush.Style := bsClear;  dib.Canvas.Font.Color := clRed;  dib.Canvas.Font.Name := 'Tahoma';  dib.Canvas.Font.Size := 32;  dib.Canvas.Font.Style := [fsBold];  dib.Canvas.TextOut(10, 10, 'DelphiX');  Self.Color := clWhite;end;procedure TForm1.FormDestroy(Sender: TObject);begin  dib.Free;end;procedure TForm1.Button1Click(Sender: TObject);begin  DXPaintBox1.DIB.Assign(dib);  DXPaintBox1.Repaint;end;procedure TForm1.Button2Click(Sender: TObject);begin  DXPaintBox1.DIB.Fill(Self.Color);  DXPaintBox1.DIB.DrawTransparent(dib, 0, 0, dib.Width, dib.Height, 0, 0, clBlack);  DXPaintBox1.Repaint;end;procedure TForm1.Button3Click(Sender: TObject);begin  DXPaintBox1.DIB.Fill(Self.Color);  DXPaintBox1.DIB.DrawTransparent(dib, 0, 0, dib.Width, dib.Height, 0, 0, clRed);  DXPaintBox1.Repaint;end;procedure TForm1.Button4Click(Sender: TObject);begin  DXPaintBox1.DIB.Fill(Self.Color);  DXPaintBox1.DIB.DrawTranslucent(dib, 0, 0, dib.Width, dib.Height, 0, 0, clBlack);  DXPaintBox1.Repaint;end;procedure TForm1.Button5Click(Sender: TObject);begin  DXPaintBox1.DIB.Fill(Self.Color);  DXPaintBox1.DIB.DrawTranslucent(dib, 0, 0, dib.Width, dib.Height, 0, 0, clRed);  DXPaintBox1.Repaint;end;procedure TForm1.Button6Click(Sender: TObject);begin  DXPaintBox1.DIB.Fill(Self.Color);  DXPaintBox1.DIB.DrawAlpha(dib, 0, 0, dib.Width, dib.Height, 0, 0, 32, clBlack);  DXPaintBox1.Repaint;end;procedure TForm1.Button7Click(Sender: TObject);begin  DXPaintBox1.DIB.Fill(Self.Color);  DXPaintBox1.DIB.DrawAlpha(dib, 0, 0, dib.Width, dib.Height, 0, 0, 32, clRed);  DXPaintBox1.Repaint;end;end.
 

Form file:

object Form1: TForm1  Left = 0  Top = 0  Caption = 'Form1'  ClientHeight = 185  ClientWidth = 208  Color = clBtnFace  Font.Charset = DEFAULT_CHARSET  Font.Color = clWindowText  Font.Height = -11  Font.Name = 'Tahoma'  Font.Style = []  OldCreateOrder = False  OnCreate = FormCreate  OnDestroy = FormDestroy  PixelsPerInch = 96  TextHeight = 13  object DXPaintBox1: TDXPaintBox    Left = 8    Top = 8    Width = 193    Height = 73    AutoStretch = False    Center = False    KeepAspect = False    Stretch = False    ViewWidth = 0    ViewHeight = 0  end  object Button1: TButton    Left = 8    Top = 92    Width = 67    Height = 87    Caption = 'Button1'    TabOrder = 0    OnClick = Button1Click  end  object Button2: TButton    Left = 81    Top = 92    Width = 58    Height = 25    Caption = 'Button2'    TabOrder = 1    OnClick = Button2Click  end  object Button3: TButton    Left = 145    Top = 92    Width = 57    Height = 25    Caption = 'Button3'    TabOrder = 2    OnClick = Button3Click  end  object Button4: TButton    Left = 81    Top = 123    Width = 58    Height = 25    Caption = 'Button4'    TabOrder = 3    OnClick = Button4Click  end  object Button5: TButton    Left = 145    Top = 123    Width = 57    Height = 25    Caption = 'Button5'    TabOrder = 4    OnClick = Button5Click  end  object Button6: TButton    Left = 81    Top = 154    Width = 58    Height = 25    Caption = 'Button6'    TabOrder = 5    OnClick = Button6Click  end  object Button7: TButton    Left = 145    Top = 154    Width = 55    Height = 25    Caption = 'Button7'    TabOrder = 6    OnClick = Button7Click  endend
 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.