私は、SUR40 PixelSense対応のコンピュータでMicrosoft Surface 2.0 SDKを使用しています。私はそれから触って画像をキャプチャし、それを.bmp
として保存する必要があります。 Surface SDKにはRawImageVisualizerのサンプルが付属しているので、画面にタッチして画像を表示するので、画像をHDDに書き込むプログラムを修正しようとしました。問題は、touchから取得したバイト配列から、Image
をビルド中にArgumentException: Parameter is invalid
を取得することです。PixelSense対応のPCのタッチから画像をキャプチャし、.bmpとして保存
これは私がFrameReceived
イベントにFrameReceivedEventArgs
からの画像データのバイト配列を取得する方法である:
event.UpdateRawImage(
ImageType.Normalized,
normalizedImage,
0, 0,
InteractiveSurface.PrimarySurfaceDevice.WorkingAreaWidth,
InteractiveSurface.PrimarySurfaceDevice.WorkingAreaHeight);
そして、それは私がディスクに.bmp
としてバイトを書いてみる方法は次のとおりです。
System.Drawing.Image img;
using (System.Drawing.Image raw = System.Drawing.Image.FromStream(new MemoryStream(normalizedImage)))
{
img = raw.Clone() as System.Drawing.Bitmap;
}
img.Save("C:/img.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
だから私は取得ストリームからImage
を作成しようとした例外です。それにもかかわらず、このバイト配列はそれを表示するTexture2D
とSpriteBatch
で完全に正常に機能します。 ArgumentException
を修正するにはどうすればよいですか?