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