0
据我所知,.NET中的picturebox坐标系被定义为顶点是原点,X指向右,Y指向下。在Picturebox中转换坐标
是否有一个内置的.NET函数将默认坐标转换为笛卡儿? (原点位于左下方,X向右,Y向上)
据我所知,.NET中的picturebox坐标系被定义为顶点是原点,X指向右,Y指向下。在Picturebox中转换坐标
是否有一个内置的.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:希望我的数学正确。
你想垂直翻转图片吗?或者你的问题只是关于坐标变换? –
我只是在问变形。当我指定(0,0)时,意思不是从左上角开始,而是希望它从左下角开始。 –
不,那里没有任何内置的图书馆/课程。为了解决这个问题,您可以阅读图像并从低点到高点开始绘制图片框。 –