Исключение System.OverflowException если запускаю из Visual Studio - C#
Формулировка задачи:
Здравствуйте, тут такое дело, подключил либу AForge.Video.VFW для записи видео.
Компилирую, нажимаю "Запись", выдает исключение System.OverflowException. Если программу запускать не из под Visual Studio, а просто exe из папки то все ок, запись идет. В чем может быть проблема? Я так понимаю какая-то проблема с разрядностью, но не понимаю почему.. ведь просто из папки exe запускается как надо. Да и менял я на х86 и на х64, не помогает..
Код ошибки под спойлером
Bitmap bmp = Properties.Resources.image; ... writer.AddFrame(bmp); public void AddFrame( Bitmap frameImage ) { lock (sync) { // check if AVI file was properly opened if (buffer == IntPtr.Zero) throw new System.IO.IOException("AVI file should be successfully opened before writing."); // check image dimension if ((frameImage.Width != width) || (frameImage.Height != height)) throw new ArgumentException("Bitmap size must be of the same as video size, which was specified on opening video file."); // lock bitmap data BitmapData imageData = frameImage.LockBits( new Rectangle(0, 0, width, height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb); // copy image data int srcStride = imageData.Stride; int dstStride = stride; int src = imageData.Scan0.ToInt32() + srcStride * (height - 1); //ОШИБКА ЗДЕСЬ!!! int dst = buffer.ToInt32(); for (int y = 0; y < height; y++) { Win32.memcpy(dst, src, dstStride); dst += dstStride; src -= srcStride; } // unlock bitmap data frameImage.UnlockBits(imageData); // write to stream if (Win32.AVIStreamWrite(streamCompressed, position, 1, buffer, stride * height, 0, IntPtr.Zero, IntPtr.Zero) != 0) throw new VideoException("Failed adding frame."); position++; } } int src = imageData.Scan0.ToInt32() + srcStride * (height - 1);
Решение задачи: «Исключение System.OverflowException если запускаю из Visual Studio»
textual
Листинг программы
IntPtr src = imageData.Scan0 + srcStride * (height - 1);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д