Mendeteksi Warna RGB dari suatu Gambar dengan Delphi

08.35.00 ima2512 0 Comments


Hai guys,,
Kali  ini, kami akan membahas tentang mendeteksi warna RGB dari suatu Gambar dengan Delphi,,
Langkah pertama yang harus dilakukan, ya tentu sajalah membuka program Delphi,buat form dengan bentuk seperti ini,,dan jangan lupa membuat Chart dengan 3 series,,,image dan button,,,
Setelah membentuk form tersebut sekarang kita bentuk formnya,,,owh ya kita bentuk dulu scrollbar ,,,
s
setelah itu tulis syntaq
jangan dalam variabel umumnya ditulis
var  Form1: TForm1; 
i,j,lebar,x,k:integer; 
R,G,B:byte; 
gambar:Tbitmap; 
warna:Tcolor;

Setelah itu syntaq
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,  Y: Integer);
Var R,G,B:byte;  warna:Tcolor;
begin 
warna:=image1.Picture.Bitmap.Canvas.Pixels[x,y]; 
R:=GetRValue(warna); 
G:=GetGValue(warna); 
B:=GetBValue(warna); 
label1.Caption:=IntToStr(R); 
label2.Caption:=IntToStr(G); 
label3.Caption:=IntToStr(B);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ScrollBar1.Enabled:=True;
gambar.Assign(image1.Picture);
end;

procedure TForm1.FormCreate(Sender: TObject);
var i,lebar:integer;begin  gambar:=TBitmap.Create;  ScrollBar1.Max:=image1.Picture.Bitmap.Height; 
series1.Clear;
Series2.Clear;
Series3.Clear; 
k:=ScrollBar1.Position;
lebar:=image1.Picture.Bitmap.Width; 
for i:=0 to lebar-1 do  begin    image1.Picture.Bitmap.Canvas.LineTo(image1.Picture.Bitmap.Width,j);    R:=GetRValue(warna);   
G:=GetGValue(warna);   
B:=GetBValue(warna);  
series1.AddXY(i,R,'',clred);   
series2.AddXY(i,G,'',clGreen); 
series3.AddXY(i,B,'',clBlue); 
end;
end;
procedure TForm1.ScrollBar1Change(Sender: TObject);
var  red,green,blue:byte; 
a,b,lebar:Integer; 
warna:TColor; 
garis:TBitmap;
begin 
Series1.Clear;
Series2.Clear;
Series3.Clear; 
b:=ScrollBar1.Position; 
lebar:=Image1.Picture.Bitmap.Width;
garis:=TBitmap.Create;
garis.Assign(gambar);
garis.Canvas.MoveTo(0,b); 
garis.Canvas.LineTo(lebar,b);


  for a:=0 to lebar -1 do   
begin   
warna:=Image1.Picture.Bitmap.Canvas.Pixels[a,b];   
red:=GetRValue(warna);   
green:=GetGValue(warna);   
blue:=GetBValue(warna);   
Series1.AddXY(a,red);   
Series2.AddXY(a,green);   
Series3.AddXY(a,blue);   
end;
   Image1.Picture.Assign(garis); 
garis.Free;
end;
maka ketika program dijalankan akan seperti ini

CATATAN : Sebelum mengubah posisi Scrollbar, agar tidak terjadi eror,makan Button click diklik terlebih dahulu
terimakasih

You Might Also Like

0 komentar: