Ich benutze Microsoft Surface 2.0 SDK mit SUR40 PixelSense-kompatiblen Computer. Ich muss das Bild von seiner Berührung erfassen und es als .bmp
speichern. Da das Surface SDK mit dem RawImageVisualizer-Beispiel geliefert wird, bei dem das Bild über Berührung auf dem Bildschirm angezeigt wird, habe ich versucht, das Programm zum Schreiben von Bildern auf die Festplatte zu ändern. Das Problem ist, ich bekomme ArgumentException: Parameter is invalid
während der Erstellung Image
von Byte-Array von Touch erfasst. DieseCapture Bild von Touch von PixelSense-kompatiblen PC und speichern Sie es als. Bmp
ist, wie ich Byte-Array mit Bilddaten von FrameReceivedEventArgs
auf FrameReceived
Ereignis abrufen:
event.UpdateRawImage(
ImageType.Normalized,
normalizedImage,
0, 0,
InteractiveSurface.PrimarySurfaceDevice.WorkingAreaWidth,
InteractiveSurface.PrimarySurfaceDevice.WorkingAreaHeight);
Und das ist, wie ich versuche, Bytes als .bmp
auf Platte zu schreiben:
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);
Also ich Die Ausnahme versucht Image
aus dem Stream zu erstellen. Nichtsdestotrotz funktioniert dieses Byte-Array völlig problemlos mit Texture2D
und SpriteBatch
, die es anzeigt. Wie kann ich ArgumentException
beheben?