Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class RectangleUnionIntersect
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
public class Form1
Inherits System.Windows.Forms.Form
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
Dim g As Graphics = Me.CreateGraphics()
Dim pt As New PointF(30.8F, 20.7F)
Dim sz As New SizeF(60.0F, 40.0F)
Dim rect1 As New RectangleF(pt, sz)
Dim rect2 As New RectangleF(40.2F, 40.6F, 100.5F, 100.0F)
Dim rect3 As Rectangle = Rectangle.Ceiling(rect1)
Dim rect4 As Rectangle = Rectangle.Truncate(rect1)
Dim rect5 As Rectangle = Rectangle.Round(rect2)
g.DrawRectangle(Pens.Black, rect3)
g.DrawRectangle(Pens.Red, rect5)
Dim isectRect As Rectangle = Rectangle.Intersect(rect3, rect5)
g.FillRectangle(New SolidBrush(Color.Blue), isectRect)
Dim inflateSize As New Size(0, 40)
isectRect.Inflate(inflateSize)
g.DrawRectangle(Pens.Blue, isectRect)
rect4 = Rectangle.Empty
rect4.Location = New Point(50, 50)
rect4.X = 30
rect4.Y = 40
Dim unionRect As Rectangle = Rectangle.Union(rect4, rect5)
g.DrawRectangle(Pens.Green, unionRect)
g.Dispose()
End Sub
Public Sub New()
MyBase.New()
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
End Sub
End Class
|