在 Picturebox 中变换坐标
Transforming Coordinate in Picturebox
据我了解,.NET 中的图片框坐标系统定义为以顶点为原点,X 指向右,Y 指向下。
是否有内置的 .NET 函数可以将默认坐标转换为笛卡尔坐标? (这样原点现在在左下角,X指向右,Y指向上。)
抱歉,没有转换为笛卡尔坐标的内置函数。但是,添加一个会很简单。唯一的区别是 Y 轴值。
public static class PictureBoxExtensions
{
public static Point ToCartesian(this PictureBox box, Point p)
{
return new Point(p.X, p.Y - box.Height);
}
public static Point FromCartesian(this PictureBox box, Point p)
{
return new Point(p.X, box.Height - p.Y);
}
}
PS:希望我算对了。
据我了解,.NET 中的图片框坐标系统定义为以顶点为原点,X 指向右,Y 指向下。
是否有内置的 .NET 函数可以将默认坐标转换为笛卡尔坐标? (这样原点现在在左下角,X指向右,Y指向上。)
抱歉,没有转换为笛卡尔坐标的内置函数。但是,添加一个会很简单。唯一的区别是 Y 轴值。
public static class PictureBoxExtensions
{
public static Point ToCartesian(this PictureBox box, Point p)
{
return new Point(p.X, p.Y - box.Height);
}
public static Point FromCartesian(this PictureBox box, Point p)
{
return new Point(p.X, box.Height - p.Y);
}
}
PS:希望我算对了。