У меня есть объект TransformedBitmap 2208 x 3000 с форматом {Indexed8}, который я использую. CopyPixels () на. Я использую
(int)((formattedBitmap.PixelWidth * formattedBitmap.Format.BitsPerPixel + 7) / 8)
(предполагается, что 'formattedBitmap' - это имя изображения, из которого я ' m пытается скопировать пиксели) для значения 'stride' в моем вызове метода и массива байтов длиной 2208. У меня что-то подобное работает в другом месте кода (где формат изображения - {Gray8}. Однако, когда я пытаюсь сделать то же самое с вышеупомянутым изображением, я постоянно получаю «Аргумент вне диапазона» исключение: «Значение параметра не может быть меньше, чем '6624000'. \ r \ nParameter name: buffer.»
У меня следующие вопросы: почему в мире кажется, что один и тот же код работает в одном месте, а не другое? Что в мире, с точки зрения непрофессионала, на самом деле ТАКОЕ "шаг"? И как я могу получить желаемый эффект (копирование битов), не получая этой ошибки? Что я делаю не так?
Любая помощь в этом был бы очень признателен. Большое спасибо!