
TDIB.AddRGB(R, G, B: Integer) 將指定 RGB 數值 (0~255) 疊加至每個像素對應通道。範例提供四個按鈕:載入原圖、疊加紅 (64,0,0)、綠 (0,64,0)、藍 (0,0,64)。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DIB, StdCtrls;
type
TForm1 = class(TForm)
DXPaintBox1: TDXPaintBox;
Button1: TButton; // Load
Button2: TButton; // +Red
Button3: TButton; // +Green
Button4: TButton; // +Blue
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
const
ImgPath = 'C:\Temp\DX.jpg';
begin
DXPaintBox1.DIB.LoadFromFile(ImgPath);
DXPaintBox1.Width := DXPaintBox1.DIB.Width;
DXPaintBox1.Height := DXPaintBox1.DIB.Height;
DXPaintBox1.Repaint;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
DXPaintBox1.DIB.AddRGB(64, 0, 0); DXPaintBox1.Repaint;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
DXPaintBox1.DIB.AddRGB(0, 64, 0); DXPaintBox1.Repaint;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
DXPaintBox1.DIB.AddRGB(0, 0, 64); DXPaintBox1.Repaint;
end;
end.
object Form1: TForm1
ClientHeight = 142; ClientWidth = 226
object DXPaintBox1: TDXPaintBox; Left = 8; Top = 8; Width = 81; Height = 73; end
object Button1: TButton; Left = 143; Top = 8; Caption = 'Load'; end
object Button2: TButton; Left = 143; Top = 47; Caption = '+Red'; end
object Button3: TButton; Left = 143; Top = 78; Caption = '+Green'; end
object Button4: TButton; Left = 143; Top = 109; Caption = '+Blue'; end
end