Mendeteksi Warna RGB dari suatu Gambar dengan Delphi
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;
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);
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:=TBitmap.Create;
garis.Assign(gambar);
garis.Canvas.MoveTo(0,b);
garis.Canvas.LineTo(lebar,b);
for a:=0 to lebar -1 do
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);
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
0 komentar:
Posting Komentar