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

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

CompositingMode.SourceOver

<source lang="vbnet">

Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class AlphaBCompGammaCorr

  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 rect1 As New Rectangle(20, 20, 100, 100)
       Dim rect2 As New Rectangle(200, 20, 100, 100)
       Dim redBrush As New SolidBrush(Color.FromArgb(150, 255, 0, 0))
       Dim greenBrush As New SolidBrush(Color.FromArgb(180, 0, 255, 0))
       Dim tempBmp As New Bitmap(200, 150)
       Dim tempGraphics As Graphics = Graphics.FromImage(tempBmp)
       tempGraphics.rupositingMode = CompositingMode.SourceOver
       tempGraphics.rupositingQuality = CompositingQuality.GammaCorrected
       tempGraphics.FillRectangle(redBrush, rect1)
       rect1.X += 30
       rect1.Y += 30
       tempGraphics.FillEllipse(greenBrush, rect1)
       g.rupositingQuality = CompositingQuality.GammaCorrected
       g.DrawImage(tempBmp, 0, 0)
       g.FillRectangle(Brushes.Red, rect2)
       rect2.X += 30
       rect2.Y += 30
       g.FillEllipse(Brushes.Green, rect2)
       tempBmp.Dispose()
       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>