는 비디오 및 이미징 물건 AForge을 시도하는 것을 결정하는 데, 나는 this simple demo을 구현하기 위해 노력 :PictureBox를 업데이트 할 때 ArgumentException이 발생할 수있는 이유는 무엇입니까?
private void Main_Load(object sender, EventArgs e)
{
// enumerate video devices
FilterInfoCollection videoDevices = new FilterInfoCollection(
FilterCategory.VideoInputDevice);
// create video source
VideoCaptureDevice videoSource = new VideoCaptureDevice(
videoDevices[0].MonikerString);
// set NewFrame event handler
videoSource.NewFrame += new NewFrameEventHandler(video_NewFrame);
// start the video source
videoSource.Start();
}
private void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
this.pictureBox1.Image = eventArgs.Frame;
}
문제는 내가 항상 ArgumentException
를 얻을 수 있다는 것입니다,하지만 항상 즉시 발생하지 않습니다. 그것은 Application.Run(new Main());
에 팝업하지만, 스택 트레이스의 상단은 다음과 같습니다
at System.Drawing.Image.get_Width() at System.Drawing.Image.get_Size()
at System.Windows.Forms.PictureBox.ImageRectangleFromSizeMode(PictureBoxSizeMode mode)
at System.Windows.Forms.PictureBox.OnPaint(PaintEventArgs pe)
이 관련이 있는지 확실하지만,의 ParamName
속성 없음 예외는 null입니다. try ... catch 블록에서 이미지 할당을 래핑하려고 시도했지만 도움이되지 않았습니다. 또한 할당 전에 이미지가 null이 아닌지 확인했습니다. 또한 null이 아닌 0x0 크기의 이미지를 확인했습니다.
내가 잘못 했습니까? 누구든지 해결 방법을 제안 할 수 있습니까?
예외의 메시지는 무엇입니까? –
@DavidNelson 좋은 질문입니다 : "매개 변수가 유효하지 않습니다." –
너가 그것을 설정할 때 eventArgs.Frame의 높이와 너비 란 무엇입니까? –