Tag: 矩形

c#截取特定区域的截图

我知道有很多这样的问题,但他们的答案都没有对我有用,或者我无法正确地做到,无论如何,如果有可能请给我一个简单的代码! 我知道绿点的位置,我想根据这个位置构建一个矩形。 例: 最重要的是如何拍摄这个区域的截图? 我不知道如何更改此代码以适用于我的情况。 private Bitmap Screenshot() { Bitmap bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); Graphics g = Graphics.FromImage(bmpScreenshot); g.CopyFromScreen(0, 0, 0, 0, Screen.PrimaryScreen.Bounds.Size); return bmpScreenshot; }

将矩形添加到pdfpcell itextsharp中

如何使用itextsharp将具有特定宽度,高度和背景颜色的矩形添加到PdfPCell中? 像这样的东西: PdfPCell cell = new PdfPCell(); Rectangle rectangle = new Rectangle(); rectangle.Width = 50f; rectangle.BackgroundColor = BaseColor.RED; cell.AddElement(cell);

找到两个矩形的重叠区域(在C#中)

编辑: 简单的代码我用来解决问题以防任何人感兴趣(感谢Fredrik): int windowOverlap(Rectangle rect1, Rectangle rect2) { if (rect1.IntersectsWith(rect2)) { Rectangle overlap = Rectangle.Intersect(rect1, rect2); if (overlap.IsEmpty) return overlap.Width * overlap.Height; } return 0; } 原始问题: 我想知道一种快速而又脏的方法来检查两个矩形是否重叠,以及它们是否确实计算了重叠区域。 为了好奇,我对以下情况感兴趣:1)两个矩形中的所有线条都是垂直或水平的,或2)任何两个矩形的一般情况,但我真正需要的唯一答案是案例1。 我在想: double areaOfOverlap( Rect A, Rect B) { if ( A.Intersects(B) ) { // calculate area // return area } return 0; } 对于A.Intersects(),我正在考虑使用分离轴测试,但如果矩形只有水平和垂直线,那么还有更简单(更快)的检查方法吗? 如果矩形只有水平和垂直线,那么计算它们相交的区域有一个快速的方法吗? 最后,这与这个问题无关,但我很感激有人可能会在一本好书/网页上提出任何建议,我可以在那里查看计算机图形学的数学知识。 […]