VB.Net by API/System.Drawing.Drawing2D/ColorBlend

Материал из VB Эксперт
Перейти к: навигация, поиск

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>