convert VB to C#
This commit is contained in:
47
Pilz.Drawing/HelpfulDrawingFunctions.cs
Normal file
47
Pilz.Drawing/HelpfulDrawingFunctions.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using global::System.Drawing;
|
||||
using System.Linq;
|
||||
|
||||
namespace Pilz.Drawing
|
||||
{
|
||||
public static class HelpfulDrawingFunctions
|
||||
{
|
||||
public static bool IsPointInRectangle(PointF p, RectangleF rect)
|
||||
{
|
||||
var bList = new List<bool>();
|
||||
bList.Add(p.X > rect.Left);
|
||||
bList.Add(p.X < rect.Right);
|
||||
bList.Add(p.Y > rect.Top);
|
||||
bList.Add(p.Y < rect.Bottom);
|
||||
return !bList.Contains(false);
|
||||
}
|
||||
|
||||
public static bool OverlapsTwoRectangles(RectangleF a, RectangleF b)
|
||||
{
|
||||
return a.IntersectsWith(b); // RectangleF.Intersect(a, b) <> RectangleF.Empty
|
||||
}
|
||||
|
||||
public static bool RectangleContainsRectangle(RectangleF parent, RectangleF child)
|
||||
{
|
||||
return parent.Contains(child);
|
||||
// Return _
|
||||
// IsPointInRectangle(New PointF(child.Top, child.Left), parent) AndAlso
|
||||
// IsPointInRectangle(New PointF(child.Top, child.Right), parent) AndAlso
|
||||
// IsPointInRectangle(New PointF(child.Bottom, child.Left), parent) AndAlso
|
||||
// IsPointInRectangle(New PointF(child.Bottom, child.Right), parent)
|
||||
}
|
||||
|
||||
public static RectangleF GetRectangle(PointF p1, PointF p2)
|
||||
{
|
||||
var rect = new RectangleF();
|
||||
bool startIsEnd = p1.X > p2.X && p1.Y > p2.Y;
|
||||
var xValues = new int[] { (int)p1.X, (int)p2.X };
|
||||
var yValues = new int[] { (int)p1.Y, (int)p2.Y };
|
||||
rect.Location = new PointF(xValues.OrderBy(n => n).First(), yValues.OrderBy(n => n).First());
|
||||
rect.Size = new SizeF(xValues.OrderByDescending(n => n).First(), yValues.OrderByDescending(n => n).First());
|
||||
rect.Size = new SizeF(rect.Size.Width - rect.Location.X, rect.Size.Height - rect.Location.Y);
|
||||
return rect;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user