回 帖 发 新 帖 刷新版面

主题:在image上画线,stretch:=true的时候,为什么画的位置不是鼠标点的位置呢?代码如下。

procedure   TForm1.Image1MouseDown(Sender:   TObject;   Button:   TMouseButton;   
      Shift:   TShiftState;   X,   Y:   Integer);   
  begin   
          Image1.Canvas.MoveTo(X,Y);   
  end;   
    
  procedure   TForm1.Image1MouseUp(Sender:   TObject;   Button:   TMouseButton;   
      Shift:   TShiftState;   X,   Y:   Integer);   
  begin   
          Image1.Canvas.LineTo(X,Y);   
  end;

回复列表 (共1个回复)

沙发

m:=bitmap.Width/Image1.Width;
n:=bitmap.Height/Image1.Height;

procedure   TForm1.Image1MouseDown(Sender:   TObject;   Button:   TMouseButton;   
      Shift:   TShiftState;   X,   Y:   Integer);   
  begin   
          Image1.Canvas.MoveTo(Trunc(m*x),Trunc(n*y));   
  end; 
你试试,应该可以的。  

我来回复

您尚未登录,请登录后再回复。点此登录或注册