VB.Net by API/System.Drawing.Drawing2D/ColorBlend
ColorBlend.Colors
<source lang="vbnet">
Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class PathGBInterPol
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() g.Clear(Me.BackColor) Dim clrArray As Color() = {Color.Red, Color.Blue, Color.Green, Color.Pink, Color.Yellow, Color.DarkTurquoise} Dim posArray As Single() = {0.0F, 0.2F, 0.4F, 0.6F, 0.8F, 1.0F} Dim colorBlend As New ColorBlend colorBlend.Colors = clrArray colorBlend.Positions = posArray g.SmoothingMode = SmoothingMode.AntiAlias Dim path As New GraphicsPath Dim rect As New Rectangle(10, 20, 200, 200) path.AddRectangle(rect) Dim rgBrush As New PathGradientBrush(path) rgBrush.InterpolationColors = colorBlend rgBrush.FocusScales = New PointF(0.6F, 0.2F) Dim colors() As Color = {Color.Green} rgBrush.CenterColor = Color.Red rgBrush.SurroundColors = colors g.FillEllipse(rgBrush, rect) 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
</source>
ColorBlend.Positions
<source lang="vbnet">
Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class PathGBInterPol
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() g.Clear(Me.BackColor) Dim clrArray As Color() = {Color.Red, Color.Blue, Color.Green, Color.Pink, Color.Yellow, Color.DarkTurquoise} Dim posArray As Single() = {0.0F, 0.2F, 0.4F, 0.6F, 0.8F, 1.0F} Dim colorBlend As New ColorBlend colorBlend.Colors = clrArray colorBlend.Positions = posArray g.SmoothingMode = SmoothingMode.AntiAlias Dim path As New GraphicsPath Dim rect As New Rectangle(10, 20, 200, 200) path.AddRectangle(rect) Dim rgBrush As New PathGradientBrush(path) rgBrush.InterpolationColors = colorBlend rgBrush.FocusScales = New PointF(0.6F, 0.2F) Dim colors() As Color = {Color.Green} rgBrush.CenterColor = Color.Red rgBrush.SurroundColors = colors g.FillEllipse(rgBrush, rect) 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
</source>