Page 1 of 1

TWebCam Cambiar resolucion

PostPosted: Fri Apr 12, 2019 8:01 pm
by EBM
Hola compañeros,

Alguien sabe como puedo cambiar la resolución de la cámara web desde mi aplicación? Necesito bajar la resolución al tomar fotografías de asistencia y no logro hacerlo. Desde Windows 10 entro a la aplicación de cámara y puedo bajar la resolución, pero en mi aplicación sigue tomando los valores máximos y me genera archivos grandísimos para cada foto y como necesito almacenarlos en un campo con MySql, la tabla crece demasiado, con equipos con Windows 8 si puedo cambiar la resolución y me lo respeta y me crea archivos bmp pequeños, pero con Windows 10 no logro hacerlo. Alguna sugerencia?

Saludos!

Eduardo Borondon Muñiz

Re: TWebCam Cambiar resolucion

PostPosted: Sat Apr 13, 2019 5:29 am
by Antonio Linares
Eduardo,

> con Windows 8 si puedo cambiar la resolución (desde la app)

Cómo lo haces ?

Re: TWebCam Cambiar resolucion

PostPosted: Sat Apr 13, 2019 4:20 pm
by EBM
Hola Antonio,

Me refiero a que con el programa de cámara que viene con Windows 8, si modifico la resolución, desde mi App si me respeta los cambios pero con Windows 10 no lo hace, aunque cambie la resolución en la Camara, en mi App toma la máxima resolución. Alguna idea para bajar la resolución por medio de código a un bmp?

Saludos!

Eduardo Borondón Muñiz

Re: TWebCam Cambiar resolucion

PostPosted: Sat Apr 13, 2019 5:44 pm
by EBM
Resuelto!!

Buscando y buscando, encontré una clase de César Lozada, TWebCamPhoto en la que tiene un Metodo Format() que llama al dialogo para configurar la resolución del controlador de la cámara, copié el método a la clase TWebCam de FWH ajustando solamente los nombres de unas DATA's y funciona!!. Dejo aquí el método por si alguien lo necesita y por si Antonio quiere incluirlo en la próxima versión de FWH.

#define WM_CAP_DLG_VIDEOFORMAT (WM_CAP_START + 41)

METHOD Format() CLASS TWebCam // César E. Lozada, cesarlozada@hotmail.com

If ::hWebCam <> NIL .and. ::isConnected
SendMessage( ::hWebCam, WM_CAP_DLG_VIDEOFORMAT, 0, 0 )
EndIf

Return NIL

Saludos!

Eduardo Borondón Muñiz