は、私は、画像データが含まれているUSHORTリストを持っている、と私はまず、私はその後、私はpictureBox
にそれをロードするためにFromStream
メソッドクラスimage
での使用MemoryStream
にロードピクチャボックスでこの画像を表示したい:16ビットグレースケールイメージをピクチャボックスに表示するにはどうすればよいですか?
.
.
MemoryStream ms = new MemoryStream(pixels24.ToArray()); //pixels24 is ushort[]
this.DicomImage.Image = System.Drawing.Image.FromStream(ms);
.
.
私は実行する場合、このエラーが現れます:
エラー1が 「System.IO.MemoryStream.MemoryStream(int型)」の最良のオーバーロードされたメソッドの試合は、いくつかの無効な引数を持ってい
私はMemoryStream
が入力としてushort配列を取ることができないことを知っていました。代わりにbyte []を受け取ります... 私はどのようにして、
ありますすべてあなたの 'ushort []'のデータが実際に何であるかによって決まります。 'FromStream()'メソッドは実際のビットマップファイルフォーマットを想定しています。任意のバイトを渡すことはできません。あなたの質問は広すぎます。なぜならあなたは実際には何の文脈も提供していないからです。 –
afaik 16bppは__defined__ですが、__notはサポートされていません。したがって、ushortをバイト単位で__scale down__する必要があります。それとも助けてくれるライブラリのDicomImageですか?それがちょうどPBoxの場合、これは動作しません。あなたはもっと多くの情報を与える必要があります!また、Peterさんのコメントを考慮してください:Image.FromStreamは、配列に100x200または200x100または50x400ピクセル(etcなど)のイメージが含まれている場合、どのように決定できますか? – TaW