我希望能够通过两个点(p1,p2)选择图像的一部分。我的问题是,我想要使用相同的循环,无论它们以何种顺序。从x1,y1循环到x2,y2,不管它们的顺序为
现在我有这样的:
for (int x = p1.X; x != p2.X; x += Math.Sign(p2.X - p1.X))
{
for (int y = p1.Y; y != p2.Y; y += Math.Sign(p2.Y - p1.Y))
{
MessageBox.Show(String.Format("{0} {1}", x, y));
}
}
有了这个循环我没有得到所有的数字: 例如从1/1到3/3只有到2/2。
我有些需要再次循环两个循环,但由于我不知道我实际循环的方式(减少或增加),我不能只是从循环中加/减一个。
任何帮助将不胜感激!
它的工作原理,购买我不知道为什么它可以工作...谢谢 –
关键是比较x到p2.X + dx而不是p2.X. – Larsenal
经过两遍后,我明白了 –