Почему «шаг» в конструкторе System.Drawing.Bitmap должен быть кратен 4?C#

Место общения программистов C#
Anonymous
Почему «шаг» в конструкторе System.Drawing.Bitmap должен быть кратен 4?

Сообщение Anonymous »

Я пишу приложение, которое требует от меня использования собственного растрового формата (MVTEc Halcon HImage) и преобразования его в System.Drawing.Bitmap на C#.

Единственные проприетарные функции, которые мне предоставлены, чтобы помочь мне в этом, включают запись в файл, за исключением использования функции «получить указатель».

Эта функция великолепна, она дает мне указатель на данные пикселей, ширину, высоту и тип изображения.

Моя проблема в том, что когда я создаю свой System.Drawing.Bitmap с помощью конструктора:

Код: Выделить всё

new System.Drawing.Bitmap(width, height, stride, format, scan)
Мне нужно указать «шаг», кратный 4.
Это может быть проблемой, поскольку я не уверен, какой размер растрового изображения будет использоваться в моей функции.
Предположим, что в итоге у меня есть растровое изображение размером 111x111 пикселей, у меня нет другого способа запустить эту функцию, кроме как добавить к изображению фиктивный столбец или вычесть 3 столбца.

Можно ли как-нибудь обойти это ограничение?

Подробнее здесь: https://stackoverflow.com/questions/218 ... tiple-of-4

Вернуться в «C#»