Imports System.Drawing.Drawing2D
Friend Class ctlLogo
Inherits BufferedPanel
Public Sub New()
Me.ClientSize = New Size(288, 115)
End Sub
Dim mc_DrawBackground As Boolean = True
Public Property DrawBackground() As Boolean
Get
Return mc_DrawBackground
End Get
Set(ByVal value As Boolean)
mc_DrawBackground = value
MyBase.Refresh()
End Set
End Property
Private Sub bpLogo_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
e.Graphics.SmoothingMode = SmoothingMode.HighQuality
If mc_DrawBackground Then
Using b1 As New LinearGradientBrush(New Point(0, 0), New Point(0, MyBase.ClientSize.Height), Color.White, Color.Black)
e.Graphics.FillRectangle(b1, New Rectangle(New Point(0, 0), MyBase.ClientSize))
End Using
Using b1 As New LinearGradientBrush(New Point(0, 0), New Point(0, MyBase.ClientSize.Height), DrawingFunctions.AlphaColor(Color.White, 128), DrawingFunctions.AlphaColor(Color.Black, 128))
e.Graphics.FillRectangle(b1, New Rectangle(0, 0, MyBase.ClientSize.Width, CInt(MyBase.ClientSize.Height / 2)))
End Using
Using b1 As New LinearGradientBrush(New Point(0, 0), New Point(0, MyBase.ClientSize.Height), DrawingFunctions.BlendColor(Color.Black, Color.White, 64), Color.Black)
e.Graphics.FillRectangle(b1, New Rectangle(0, CInt((MyBase.ClientSize.Height / 2) - 4), MyBase.ClientSize.Width, CInt((MyBase.ClientSize.Height / 2) + 4)))
End Using
End If
e.Graphics.InterpolationMode = InterpolationMode.HighQualityBilinear
e.Graphics.DrawImage(My.Resources.Icon, New Rectangle(8, CInt((MyBase.ClientSize.Height - 64) / 2), 64, 64))
'left point after image is 64+(8*2) = 80
Using p As GraphicsPath = DrawingFunctions.StringToPath(e.Graphics, "i00 Productions", New Font("Arial", 14, FontStyle.Bold, GraphicsUnit.Pixel))
Dim m As New Matrix
m.Translate(80, 4, MatrixOrder.Append)
p.Transform(m)
e.Graphics.FillPath(Brushes.DarkGray, p)
End Using
Using p As GraphicsPath = DrawingFunctions.StringToPath(e.Graphics, "Spell Check", New Font("Arial", 40, FontStyle.Bold, GraphicsUnit.Pixel))
Dim m As New Matrix
m.Translate(80, 12, MatrixOrder.Append)
p.Transform(m)
e.Graphics.SetClip(New Rectangle(0, 0, MyBase.ClientSize.Width, CInt((MyBase.ClientSize.Height / 2) - 3)))
e.Graphics.FillPath(New SolidBrush(DrawingFunctions.AlphaColor(Color.Black, 159)), p)
End Using
End Sub
End Class