画布image1
我在上面随便画些东西
怎么让鼠标在相应点点一下,可以获得该点颜色
thx

解决方案 »

  1.   

    很简单的,
    在鼠标点击事件中。
    procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
      acolor : TColor;
    begin
      acolor := Image1.Canvas.Pixels[x, y];//
    end;
      

  2.   

    procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var c:Tcolor;
    begin
    if Image1.Picture =nil then exit;
     c:=Image1.Picture.Bitmap.Canvas.Pixels[X,Y];
     showmessage('该点的颜色为:'+ColorToString(c));
    end;