VB.Net Tutorial/2D Graphics/ColorMatrix

Материал из VB Эксперт
Версия от 15:54, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

ColorMatrix

<source lang="vbnet">Imports System.Drawing.Imaging Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class SetColorMatrix

  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 rect As New Rectangle(20, 20, 200, 100)
       Dim bitmap As New Bitmap("yourfile.jpg")
       Dim ptsArray As Single()() = {New Single() {1, 0, 0, 0, 0}, New Single() {0, 1, 0, 0, 0}, New Single() {0, 0, 1, 0, 0}, New Single() {0, 0, 0, 0.5F, 0}, New Single() {0, 0, 0, 0, 1}}
       Dim clrMatrix As New ColorMatrix(ptsArray)
       clrMatrix.Matrix34 = 0.8F
       clrMatrix.Matrix11 = 0.3F
       Dim imgAttributes As New ImageAttributes
       imgAttributes.SetColorMatrix(clrMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap)
       g.FillRectangle(Brushes.Red, rect)
       rect.Y += 120
       g.FillEllipse(Brushes.Black, rect)
       g.DrawImage(bitmap, New Rectangle(0, 0, bitmap.Width, bitmap.Height), 0, 0, bitmap.Width, bitmap.Height, GraphicsUnit.Pixel, imgAttributes)
       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>