unit umain; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, ieview, imageenview, ComCtrls, StdCtrls, ExtCtrls, hyieutils, imageenproc, hyiedefs; type TMainForm = class(TForm) ImageEnView1: TImageEnView; Panel1: TPanel; Label1: TLabel; TrackBar1: TTrackBar; Label2: TLabel; Label3: TLabel; Panel2: TShape; Button1: TButton; procedure TrackBar1Change(Sender: TObject); procedure ImageEnView1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure ImageEnView1Paint(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } lx,ly:integer; public { Public declarations } end; var MainForm: TMainForm; implementation {$R *.DFM} {$R WindowsTheme.res} // Zoom procedure TMainForm.TrackBar1Change(Sender: TObject); begin ImageEnView1.Zoom:=TrackBar1.Position; end; // Moving mouse procedure TMainForm.ImageEnView1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var bitmapX,bitmapY:integer; color:TRGB; begin with ImageEnView1 do begin bitmapX:=imin(imax(0,XScr2Bmp(X)),IEBitmap.Width-1); bitmapY:=imin(imax(0,YScr2Bmp(Y)),IEBitmap.Height-1); color:=IEBitmap.Pixels[bitmapX,bitmapY]; Label3.Caption := 'R: '+IntToStr(color.r)+', G: '+IntToStr(color.g)+', B: '+IntToStr(color.b); Panel2.Brush.Color := TRGB2TColor( color ); end; lx:=X; ly:=Y; ImageEnView1.invalidate; end; procedure TMainForm.ImageEnView1Paint(Sender: TObject); var bx,by:integer; x1,y1,x2,y2:integer; begin bx:=ImageEnView1.XScr2Bmp(lx); by:=ImageEnView1.YScr2Bmp(ly); if (bx>=0) and (bx=0) and (by