Feedback

VB - Bild in Graustufen umwandeln

Veröffentlicht von am 25.07.2006
(6 Bewertungen)
Diese Funktion macht aus einem Bild mithilfe einer neuen ColorMatrix ein Schwarz/Weißes Bild (Graustufen) und gibt dieses als neue Kopie zurück
GFU-Schulungen  [Anzeige]

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

ASP.NET Core und Angular Komplett für .NET-Entwickler

Sie  lernen in drei (3) Tagen wie man mit  ASP.NET Core und den Technologien  MVC, Entity Framework, WebAPI und  Razor professionelle sowie moderne  Web-Anwendungsarchitekturen aufbaut.  Die Schulung ist der perfekte  Einstieg um insbesondere datengetriebene  und präsentationsorientierte  Applikationen auf Basis der robusten und  skalierbaren ASP.NET Core  Plattform zu erstellen. Nach der Veranstaltung kennen Sie die Konzepte von Angular und können Angular in neue und bestehende ASP.NET-Anwendungen einsetzen.

Public Function GrayScale(ByVal Image As Image) As Image
    Dim ImgAttr As New Imaging.ImageAttributes()

    'Standard-ColorMatrix für Graustufen
    Dim ColorMatrix As New Imaging.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}})

    'ColorMatrix an ImageAttribute-Objekt übergeben
    ImgAttr.SetColorMatrix(ColorMatrix)

    'Neue 32bit Bitmap erstellen
    Dim NewBitmap = New Bitmap(Image.Width, Image.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb)

    'Resolution (DPI) vom Quellbitmap auf Zielbitmap übertragen
    NewBitmap.SetResolution(Image.HorizontalResolution, Image.VerticalResolution)

    'Graphicsobjekt von NewBitmap erstellen
    Dim NewGraphics As Graphics = Graphics.FromImage(NewBitmap)

    'NewBitmap auf NewGraphics zeichnen
    NewGraphics.DrawImage(Image, New Rectangle(0, 0, NewBitmap.Width, NewBitmap.Height), 0, 0, Image.Width, Image.Height, GraphicsUnit.Pixel, ImgAttr)

    'Ressource freigeben
    NewGraphics.Dispose()
    ImgAttr.Dispose()
    Return NewBitmap
End Function
Abgelegt unter Graustufen, Bild.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!