首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

DelphiX 圖像處理:TDIB.AddRGB 通道顏色疊加

     編輯:Delphi

效果預覽

RGB 通道疊加效果示意圖

功能說明

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.

表單定義 (DFM 節錄)

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
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved