vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Farbigen 'Schleier' über die Form legen 
Autor: ModeratorDaveS (Moderator)
Datum: 02.02.09 15:22

Hier ist eine nette Lösung
    Dim drawBm As Boolean
    Dim pb As PictureBox
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        drawBm = Not drawBm
        If drawBm Then
            If pb Is Nothing Then
                pb = New PictureBox
                Dim bm As New Bitmap(Me.Width, Me.Height)
                Me.DrawToBitmap(bm, New Rectangle(0, 0, Me.Width, Me.Height))
                MakeImageGrayscale(bm)
                pb.Left = (Me.ClientSize.Width - Me.Width) / 2
                pb.Top = (Me.ClientSize.Height - Me.Height) - pb.Left
                pb.Width = Me.Width
                pb.Height = Me.Height
                pb.BackgroundImage = bm
                AddHandler pb.Click, AddressOf PBClick
            End If
            Me.Controls.Add(pb)
            pb.BringToFront()
        Else
            If pb Is Nothing Then Return
            pb.BackgroundImage.Dispose()
            pb.Dispose()
            pb = Nothing
        End If
    End Sub
 
    Private Sub PBClick(ByVal sender As System.Object, ByVal e As _
      System.EventArgs)
        Dim mp As Point = Me.PointToClient(MousePosition)
        If Button1.Bounds.Contains(mp) Then
            Button1.PerformClick()
        End If
    End Sub
 
    Public Shared Sub MakeImageGrayscale(ByVal bmp As Bitmap)
        Dim cm As New ColorMatrix(New Single()() _
            {New Single() {0.299, 0.299, 0.299, 0, 0}, _
            New Single() {0.587, 0.587, 0.587, 0, 0}, _
            New Single() {0.114, 0.114, 0.114, 0, 0}, _
            New Single() {0, 0, 0, 1, 0}, _
            New Single() {0, 0, 0, 0, 1}})
 
        Using iatt As New ImageAttributes, _
            gr As Graphics = Graphics.FromImage(bmp)
            iatt.SetColorMatrix(cm)
            gr.DrawImage(bmp, New Rectangle(0, 0, bmp.Width, bmp.Height), _
              0, 0, bmp.Width, bmp.Height, GraphicsUnit.Pixel, iatt)
        End Using
    End Sub

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Farbigen 'Schleier' über die Form legen1.791dh27.01.09 17:30
Re: Farbigen 'Schleier' über die Form legen1.212rub27.01.09 17:45
Re: Farbigen 'Schleier' über die Form legen1.153dh30.01.09 15:01
Re: Farbigen 'Schleier' über die Form legen1.181ModeratorDaveS30.01.09 15:24
Re: Farbigen 'Schleier' über die Form legen1.188dh30.01.09 16:21
Re: Farbigen 'Schleier' über die Form legen1.247dh01.02.09 22:51
Re: Farbigen 'Schleier' über die Form legen1.242ModeratorDaveS02.02.09 10:23
Re: Farbigen 'Schleier' über die Form legen1.208dh02.02.09 11:59
Re: Farbigen 'Schleier' über die Form legen1.061ModeratorDaveS02.02.09 12:17
Re: Farbigen 'Schleier' über die Form legen1.198dh02.02.09 12:37
Re: Farbigen 'Schleier' über die Form legen1.229ModeratorDaveS02.02.09 12:53
Re: Farbigen 'Schleier' über die Form legen1.202dh02.02.09 13:31
Re: Farbigen 'Schleier' über die Form legen1.138ModeratorDaveS02.02.09 13:58
Re: Farbigen 'Schleier' über die Form legen1.482ModeratorDaveS02.02.09 15:22
Re: Farbigen 'Schleier' über die Form legen1.157dh03.02.09 12:34
Re: Farbigen 'Schleier' über die Form legen1.121ModeratorDaveS03.02.09 12:51
Re: Farbigen 'Schleier' über die Form legen1.084dh03.02.09 13:19

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel