Ich bin Bilder von einem Smart Kamera-Imager erfassen und erhalten die Byte-Array von der Kamera durch Socket-Programmierung (.NET-Anwendung ist der Client, Kamera ist der Server).Image.FromStream() -Methode gibt ungültige Argument Ausnahme
Das Problem ist, dass ich System.InvalidArgument Ausnahme zur Laufzeit bekomme.
Ich habe dieses Problem in vielen Foren gesucht und versuchte die Vorschläge von vielen Experten, aber nichts half.
Ich denke nicht, es gibt ein Problem mit dem Byte-Array als solche, denn wenn ich das gleiche Byte-Array in meine VC++ MFC-Client-Anwendung feed, bekomme ich das Bild. In C# .NET funktioniert das nicht.
Kann mir jemand helfen?
PS:
Andere Methoden habe ich versucht, die gleiche Aufgabe zu erfüllen sind:
1.
private Image byteArrayToImage(byte[] byteArray)
{
if(byteArray != null)
{
MemoryStream ms = new MemoryStream();
ms.Write(byteArray, 0, byteArray.Length);
ms.Position = 0;
return Image.FromStream(ms, false, false);
}
return null;
}
2.
private Image byteArrayToImage(byte[] byteArray)
{
if(byteArray != null)
{
TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap));
Bitmap b = (Bitmap)tc.ConvertFrom(byteArray);
return b;
}
return null;
}
Keine der oben genannten Methoden hat funktioniert. Freundlich helfen.
Was passiert, wenn man einfach die bytearray in eine Datei auf die Festplatte schreiben? Ist die Datei mit etwas wie Photoshop geöffnet? – Chris
hast du es gelöst? Ich habe das gleiche Problem – robob