Я пишу интерпретатор в управляемом C++ для, среди прочего, формата изображения PPM. Спецификация изображения позволяет использовать изображения с размером до двух байтов на пиксель на канал или 48 бит на пиксельные цветные изображения. Я пытаюсь прочитать этот формат и преобразовать его в растровое изображение .Net, но им не удается заставить его работать. Когда у меня есть 24 бита на пиксель изображения, я инициализировать их так:Как инициализировать растровые изображения 48bpp из RGB?
bmp = gcnew Bitmap(width, height);
<for each pixel>
bmp->SetPixel(x, y, Drawing::Color::FromArgb(Convert::ToInt32(fileData[offset]),
Convert::ToInt32(fileData[offset + 1]),
Convert::ToInt32(fileData[offset + 2])));
offset += 3;
Для 48 бита на пиксель изображения, я инициализируюсь ВМР следующим образом:
bmp = gcnew Bitmap(widht, height, Imaging::PixelFormat::Format48bppRgb);
Однако при попытке заполнить данные пикселя, я не могу указать любые значения цвета, используя «Цвет :: FromArgb()» со значениями больше 255 для R, G и B. Есть ли способ обойти это ограничение?