Mega Code Archive

 
Categories / VB.Net by API / System Drawing
 

Region Complement

Imports System Imports System.ComponentModel Imports System.Windows.Forms Imports System.Data Imports System.Configuration Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Drawing.Text Imports System.Globalization Imports System.Text Imports System.Collections Public Class MainClass          Shared Sub Main()                  Dim myform As Form = New CombinationsForm()         Application.Run(myform)     End Sub End Class Public Class CombinationsForm     Inherits System.Windows.Forms.Form     Public Sub New()         MyBase.New()         Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)         Me.ClientSize = New System.Drawing.Size(244, 118)         Me.Text = "CombinationsForm"     End Sub     Private Sub CombinationsForm_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint         Dim g As Graphics = e.Graphics         Dim width As Single = Me.ClientSize.Width          Dim height As Single = Me.ClientSize.Height         Dim rect As RectangleF = New RectangleF(0, 0, width, height)         Dim format As StringFormat = New StringFormat()         format.Alignment = StringAlignment.Center         format.LineAlignment = StringAlignment.Center         Dim path1 As GraphicsPath = New GraphicsPath()         Dim path2 As GraphicsPath = New GraphicsPath()         Dim path1Rect As RectangleF = New RectangleF(0, 0, width * 2.0F / 3.0F, height)         Dim path2rect As RectangleF = path1Rect         path2rect.Offset(width * 1.0F / 3.0F, 0)         path1.AddEllipse(path1Rect)         path2.AddEllipse(path2rect)         Dim region As Region = New Region(path1)         region.Complement(path2)         g.FillRegion(Brushes.Red, region)         g.DrawString("Complement", Me.Font, Brushes.Black, rect, format)         g.DrawRectangle(Pens.Black, rect.X, rect.Y, rect.Width, rect.Height)         g.TranslateTransform(width, 0)     End Sub End Class