如何使用两个PointF创建RectangleF? [英] How to create a RectangleF using two PointF?
本文介绍了如何使用两个PointF创建RectangleF?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我创建了两个点,就像一条线.我想将其转换为矩形. 我该怎么办?
I have two points created, like a line. I want to convert it as a rectangle. How should I do it?
例如,这就是我画线的方式.但我希望它成为Rectangle
For example this is how I draw the line. But I want it to be a Rectangle
private PointF start, end;
protected override void OnMouseDown(MouseEventArgs e)
{
start.X = e.X;
start.Y = e.Y;
}
protected override void OnMouseUp(MouseEventArgs e)
{
end.X = e.X;
end.Y = e.Y;
Invalidate();
}
推荐答案
怎么样:
new RectangleF(Math.Min(start.X, end.X),
Math.Min(start.Y, end.Y),
Math.Abs(start.X - end.X),
Math.Abs(start.Y - end.Y));
基本上,这可以确保即使用户创建了从左下角到右上角的线,您也确实可以将左上角确实显示为开始".
Basically this makes sure you really do present the upper-left corner as the "start", even if the user has created a line from the bottom-left to top-right corners.
这篇关于如何使用两个PointF创建RectangleF?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文