Glowing Label
Posted: Mon Apr 22, 2013 1:04 pm
We will be making a Glowing Label not the Blinking Label. Sorry guys, I don't have a deep explanation for this thread. But let me just show you what it is.
As you look closer, you can see the Label is glowing.
Okay, so here it is on how to add the Glowing Label.
First, let's create a new project or just use your current project you are making.
Then, let's add a new class to our project. When you have created a new class, let's now add our code.
First, let's import
When we have done that, let's add the codes.
It's named GlowingLabel. Add that to your new form/current form. You can change the Text Color, if you want to change the Glow Color. Click the Label and in it's properties there is GlowColor, it's default color is White.
Well, that's all. I hope this will be useful in your project. Thanks! loove;
Author here: http://www.vbforums.com/showthread.php? ... g-Controls
As you look closer, you can see the Label is glowing.
Okay, so here it is on how to add the Glowing Label.
First, let's create a new project or just use your current project you are making.
Then, let's add a new class to our project. When you have created a new class, let's now add our code.
First, let's import
Code: Select all
and System.Runtime.InteropServices
Code: Select all
to our class.System.Drawing.Imaging
When we have done that, let's add the codes.
Code: Select all
Done? Now, let's debug. After we have debug our project let's check our Toolbox if there is a new Element added.Public Class GlowingLabel
Inherits Label
Private _glowColor As Color = Color.White
Public Overridable Property GlowColor() As Color
Get
Return _glowColor
End Get
Set(ByVal value As Color)
_glowColor = value
Me.Invalidate()
End Set
End Property
Protected Overrides Sub OnPaintBackground(ByVal pevent As System.Windows.Forms.PaintEventArgs)
MyBase.OnPaintBackground(pevent)
Using b As New Bitmap(Me.ClientSize.Width, Me.ClientSize.Height)
Using g As Graphics = Graphics.FromImage(b)
Dim e As New PaintEventArgs(g, pevent.ClipRectangle)
Me.OnPaint(e)
End Using
BlurImage(b)
pevent.Graphics.DrawImageUnscaled(b, 0, 0)
End Using
End Sub
<StructLayout(LayoutKind.Explicit)>
Private Structure ColorArgb
<FieldOffset(0)> Public Value As Integer
<FieldOffset(3)> Public A As Byte
<FieldOffset(2)> Public R As Byte
<FieldOffset(1)> Public G As Byte
<FieldOffset(0)> Public B As Byte
End Structure
Private Sub BlurImage(ByVal b As Bitmap)
Const Radius As Integer = 1
Dim bd As BitmapData = b.LockBits(New Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb)
Dim arr(bd.Width * bd.Height - 1) As Integer
Dim arr2(arr.Length - 1) As Integer
Marshal.Copy(bd.Scan0, arr, 0, arr.Length)
Marshal.Copy(bd.Scan0, arr2, 0, arr2.Length)
Dim vals(8) As ColorArgb
Dim val As ColorArgb
val.R = Me.GlowColor.R
val.G = Me.GlowColor.G
val.B = Me.GlowColor.B
For i As Integer = 1 To Radius
For x As Integer = 1 To bd.Width - 2
For y As Integer = 1 To bd.Height - 2
For dX As Integer = -1 To 1
For dY As Integer = -1 To 1
vals(dY * 3 + dX + 4).Value = arr2((y + dY) * bd.Width + x + dX)
Next
Next
val.A = CByte((From z As ColorArgb In vals Select CInt(z.A)).Sum() \ 9)
arr(y * bd.Width + x) = val.Value
Next
Next
If i < Radius Then arr2 = DirectCast(arr.Clone(), Integer())
Next
Marshal.Copy(arr, 0, bd.Scan0, arr.Length)
b.UnlockBits(bd)
End Sub
End Class
It's named GlowingLabel. Add that to your new form/current form. You can change the Text Color, if you want to change the Glow Color. Click the Label and in it's properties there is GlowColor, it's default color is White.
Well, that's all. I hope this will be useful in your project. Thanks! loove;
Author here: http://www.vbforums.com/showthread.php? ... g-Controls