Подтвердить что ты не робот

BitmapSource.CopyPixels -что хорошее значение для шага?

Я пытаюсь получить пиксельные данные из объекта WPF BitmapSource. Насколько я понимаю, это можно сделать, вызвав его метод CopyPixels. Этот метод требует параметра шага, который я не знаю, как получить. Насколько мне известно, шаг - это значение, которое используется при переходе в массив во время чтения или копирования. Что было бы подходящим значением шага для любого BitmapSource?

4b9b3361

Ответ 1

Вы можете использовать значение stride = pixel_size * image_width. Например, для растрового изображения RGBA с шириной 100 пикселей, stride = 400.

Для некоторых приложений может потребоваться специальное выравнивание строк. Например, для растровых изображений Windows GDI требуется 32-битное выравнивание строк. В этом случае для растрового изображения RGB с шириной = 33 значение шага 33 * 3 = 99 должно быть изменено на 100, чтобы иметь 32-битное выравнивание строк в целевом массиве.

Как правило, вы должны знать требования к массиву назначения. В особых требованиях нет, используйте default pixel_size * image_width.