Warum muss „Schritt“ im System.Drawing.Bitmap-Konstruktor ein Vielfaches von 4 sein?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Warum muss „Schritt“ im System.Drawing.Bitmap-Konstruktor ein Vielfaches von 4 sein?

Post by Anonymous »

Ich schreibe eine Anwendung, die erfordert, dass ich ein proprietäres Bitmap-Format (ein MVTec Halcon HImage) nehme und es in ein System.Drawing.Bitmap in C# umwandele.

Die einzigen mir zur Verfügung gestellten proprietären Funktionen, die mir dabei helfen, umfassen das Schreiben in eine Datei, mit Ausnahme der Verwendung einer „Zeiger abrufen“-Funktion.

Diese Funktion ist großartig, sie gibt mir einen Zeiger auf die Pixeldaten, die Breite, die Höhe und den Typ des Bildes.

Mein Problem ist, dass ich beim Erstellen meiner System.Drawing.Bitmap mit dem Konstruktor Folgendes erstelle:

Code: Select all

new System.Drawing.Bitmap(width, height, stride, format, scan)
Ich muss einen „Schritt“ angeben, der ein Vielfaches von 4 ist.
Dies kann ein Problem sein, da ich nicht sicher bin, mit welcher Bitmap-Größe meine Funktion konfrontiert wird.
Angenommen, ich erhalte am Ende eine Bitmap mit 111 x 111 Pixeln, dann habe ich keine andere Möglichkeit, diese Funktion auszuführen, als eine falsche Spalte zu meinem Bild hinzuzufügen oder 3 Spalten zu subtrahieren.

Gibt es eine Möglichkeit, diese Einschränkung zu umgehen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post