Я спасаю изображения с камеры в цикле, но несколько раз он дает общую ошибку в GDI + в некоторой системе в то время как я использую i7 4gb баран и доцент приходит, когда я использую систему барана i3 4gnbОбщая ошибка в GDI +
for (int i = 1; i <= frameno; i++)
{
Bitmap bm = new Bitmap(1024,1280);
Int32 s32MemID;
Camera.Memory.GetActive(out s32MemID);
Camera.Memory.CopyToBitmap(s32MemID, out bm);
bm.RotateFlip(RotateFlipType.Rotate90FlipNone);
String str = "";
if (i < 10)
{
str = "00";
}
else if (i < 100)
{
str = "0";
}
bm.Save(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\capture" + str + i + ".bmp", ImageFormat.Bmp);
Thread.Sleep(delay);
}
пожалуйста, кто-нибудь дать мне решение очень имп для меня
это во время сохранения или в другое время появляется ошибка GDI +? Вам действительно нужно создать новое растровое изображение в каждом цикле, или вы можете использовать повторное использование растрового изображения, определяя его перед циклом? Вы располагаете свое изображение в конце цикла? Когда-либо слышал о 'i.ToString(). PadLeft ('0', 3)', чтобы добавить 00 в индекс, почему и как долго это задержка в вашем цикле. И какую библиотеку камеры вы используете? – Icepickle
Его частная камера lib и задержка составляет около 500, и при этом появляется ошибка при сохранении bmp – user3269550
Вы можете начать с размещения кода внутри блока 'using', как этот' using (Bitmap bm = new Bitmap (1024,1280)) {.. .} '. Возможно, это может решить вашу проблему, даже если это не правильный способ обработки ресурсов IDisposable. –