|
分類:[C++/CLI]
いつもお世話になっております。
C++/CLIでRGB各16ビットの画像を扱いたいと考えています。
System::Bitmapクラスのコンストラクタで、 Bitmap(width, height, Imaging::PixelFormat::Format48bppRgb)を指定することで、 RGB各16ビット(トータル48ビット)のメモリが確保されるのだろうと考えました。
そこで、 System::Bitmap^ bmp;
bmp = gcnew System::Drawing::Bitmap(width, height, Imaging::PixelFormat::Format48bppRgb);
Drawing::Color color;
color.FromArgb(1023, 1023, 1023); bmp->SetPixel(0, 0, color); color = bmp->GetPixel(0, 0); というコードを実行したのですが、SetPixel()でRGB各要素が255以内でなければならないという 例外が発生しました。 Color構造体は255までしか扱えないようなことがヘルプにも書かれておりました。
どのような方法を取れば、255以上の値を扱えるか、何かアドバイスがあればお願い致します。
ちなみに、表示は8ビットで構わなく、内部計算を16ビットでハンドリングできればと考えています。
|