RGB aus Pixel auslesen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    RGB aus Pixel auslesen

    Hallo!

    Ich wollte mal fragen, ob es möglich ist, die RGB-Werte eines Pixels aus einer BMP-Datei auszulesen?

    z.B. habe ich ein Bild, das ist 1200 x 408 Pixel groß. Nun möchte ich die RGB-Werte aus Pixel 175;154 auslesen. Wie mache ich das?

    Bild in eine PictureBox laden? mit einem Befehl, der so lauten könnte den Pixel auslesen? e.graphs.getpixel(picturebox1, 175,154), und dann mit dem Befehl der so lauten könnte die RGB-Werte anzeigen lassen? msgbox(e.r, e.g, e.b)

    Das wäre der einfachste Weg.
    Geht auch ohne PicBox.

    VB.NET-Quellcode

    1. Dim DeineBitmap As Drawing.Bitmap = DirectCast(Drawing.Image.FromFile(PfadZurDatei), Drawing.Bitmap)
    2. Dim FarbeAnDerAngegebenenPosition = DeineBitmap.GetPixel(175, 154)
    Aber nur sinnvoll, wenn es wirklich nur um 1 Pixel geht, sonst dauert das zu lange, falls Du vorhast, mehr auszulesen. Dafür ist dann die Arbeit mit LockBits sinnvoll.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @Selter98 Die Variable FarbeAnDerAngegebenenPosition im Snippet von @VaporiZed ist vom Typ Color, so dass Du dann schreiben kannst:

    VB.NET-Quellcode

    1. MessageBox.Show(FarbeAnDerAngegebenenPosition.ToString())
    ohne .R, .G und .B einzeln ausgeben zu müssen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!