我用GDI+在Form上画了一个圆,通过判定点是否在园内来用鼠标选取它。
然后我用graphics.ScaleTransform(scale, scale);将图像按照scale这个比例进行缩放后,鼠标就无法选中圆了。
用ScaleTransform进行缩放后,坐标系是否发生了偏移?
鼠标点要如何偏移才能选中圆?
然后我用graphics.ScaleTransform(scale, scale);将图像按照scale这个比例进行缩放后,鼠标就无法选中圆了。
用ScaleTransform进行缩放后,坐标系是否发生了偏移?
鼠标点要如何偏移才能选中圆?
mx.Scale(_zoom, _zoom, MatrixOrder.Append);
e.Graphics.Transform = mx;
用鼠标去选择的时候要把坐标进行计算
public Point PointToMouse(Point p)
{
// Backtrack the mouse...
Point[] pts = new Point[] { p };
Matrix mx = new Matrix();
mx.Scale(_zoom, _zoom, MatrixOrder.Append);
mx.Invert();
mx.TransformPoints(pts);
return pts[0];
}