Ich habe eine IDS UEye Webcam und möchte einen Schnappschuss über die uEyeDotNet.dll (Version 1.6.4.2) machen.Making Snapshot mit IDS uEye Webcam - schwarzes Bild
Im Moment benutze ich dieses Stück Code.
var camera = new Camera();
camera.Init(_deskCamInfo.UEyeId);
camera.Memory.Allocate();
camera.Acquisition.Capture();
Thread.Sleep(500);
int s32MemID;
camera.Memory.GetActive(out s32MemID);
Bitmap image;
camera.Memory.ToBitmap(s32MemID, out image);
var converter = new ImageConverter();
var imageData = (byte[])converter.ConvertTo(image, typeof(byte[]));
Wenn ich meinen Code mit den Thread.Sleep(500)
verwende ich den Schnappschuss zu bekommen wie erwartet, und alles funktioniert. Aber wenn ich die Thread.Sleep(500)
entferne, bekomme ich ein schwarzes Bild und ich weiß wirklich nicht warum.
Aber ich möchte nicht 500ms für jeden Snapshot warten und möchte dieses Problem ohne es lösen.
In meinem ursprünglichen Code überprüfe ich jeden Ergebniswert von den uEye-Methoden und ich bekomme immer einen Erfolg. Ich habe diese Überprüfungen einfach entfernt, weil es mit allen if-Anweisungen schwer zu lesen ist.