Estoy escribiendo una aplicación WPF en la que necesito mostrar una fuente de cámara web. Pude hacerlo fácilmente con el framework de AForge. Pero cuando cambié de una computadora a otra, el mismo código no funciona de la misma manera.Implementación de una WebCam en una aplicación WPF usando AForge.Net
En la primera, la alimentación de la cámara web funciona perfectamente, pero en la otra no ocurre, la alimentación tiene un gran retraso y la aplicación no funciona correctamente.
Aquí está el código:
private void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
Bitmap img = (Bitmap)eventArgs.Frame.Clone();
this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Render, (SendOrPostCallback)delegate
{
IntPtr hBitmap = img.GetHbitmap();
System.Windows.Media.Imaging.BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
hBitmap,
IntPtr.Zero,
Int32Rect.Empty,
System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
DeleteObject(hBitmap);
img.Dispose();
GC.Collect();
image1.Source = bitmapSource;
}, null);
}
Lo que este código es muy simple, se pone un new_frame de la cámara web en una forma de Bitmap
, y lo que tengo que hacer es convertirlo en un BitmapSource
, entonces puedo mostrar en el marco de la imagen del WPF. Creo que esta conversión es la responsable del desastre que está sucediendo, pero no entiendo por qué funciona en una computadora y en la otra no.
Las especificaciones de la computadora son casi las mismas, el procesador es el mismo, así como la memoria del sistema.
Mi problema aquí es acerca de rendimiento, este código en una computadora funciona sin problemas, y la alimentación de la cámara web se presenta como debería, cuando la transfiero a otra PC esto no sucede.
Amigo, sin decirnos cuál es el error (incluidas las InnerExceptions y las pilas de llamadas) casi no hay posibilidad de que alguien te ayude. – Will
No hay ningún error, mi problema aquí es sobre el rendimiento, este código en una computadora funciona sin problemas, y la alimentación de la cámara web se presenta como debería, cuando la transfiero a otra PC esto no sucede, la alimentación de la cámara web tiene un horrible demora y, por ejemplo, el botón Cerrar ventana no funciona. –
Tienes un nuevo hombre de respuesta. Mira, por favor. –