Frage zu LockBits

  • .NET (FX) 4.5–4.8
  • VB.NET

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

    Frage zu LockBits

    Hallo Zusammen,
    ich möchte gerne definierte Bereiche auf jpg-Images (1440x1080) auf eine Farbe untersuchen. Bislang habe ich das mit GetPixel gemacht, bin aber die Tage auf das sehr verständlich gehaltene Tutorial Lockbits gestoßen.
    Klappt soweit ganz prima und vor allem super schnell, allerdings nur, wenn ich das ganze Bild analysiere. Wenn ich versuche definierte Bereich zu analysieren, klappt das noch nicht so recht (was aber definitiv an meinen sehr eingeschränkten Programmierkünsten liegt).

    Um weiter in die Thematik rein zu kommen, habe ich ein kleines Bildchen (24bpp) mit 10x5 Pixel erstellt. Für das Byte-Array rgbValues (siehe Tutorial) hätte Ich 150 Werte erwartet (10 x 5 x 3 BGR). Ich bekomme aber 160! ?( Kann mir das jemand erklären, oder habe ich einen Denkfehler?

    Vielen Dank vorab!
    Jürgen

    * Thema von Tipps & Tricks verschoben - Bitte das nächste mal darauf achten dann geht dein Beitrag auch sofort Online* ~NoFear23m

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nofear23m“ ()

    bitmap organisiert die Bytes quasi in zeilen und spalten.
    Der "Zeilen-Umbruch" kann aber nur an einer 4-byte-grenze erfolgen.

    Deine Zeilen sind eigentlich 5 x 3 breit, also 15 bytes.
    So kanner das nicht umbrechen, deswegen fügt er am Ende jeder zeile ein byte zu, dasses 16 bytes sind - da kann er "umbrechen".
    Jo, 10 x 16 - täte passen.

    Diese "Füllbytes" können je nach Bild-Abmasse zwischen 0 und 3 Bytes betragen.
    Die Information, wie breit so eine Zeile nu genau ist kannst du der BitmapData.Scan0-Property entnehmen.