WinApi32 hacer una foto con la cam

Iniciado por farenain, 26 Agosto 2016, 18:57 PM

0 Miembros y 1 Visitante están viendo este tema.

farenain

Buenas a todos, estoy realizando un programa de mensajería en C++ y estoy intentando hacer una función para realizar una foto con la webcam y luego poder usarla en el programa (aunque principalmente se guardaría en una carpeta).
Me he decidido por la api de windows 32, pues es la que más tirón tiene en windows, de alguna manera todo el que tiene windows la tiene instalada y estaba intentando seguir la api, pero me parece algo imposible.
De momento tengo un método para listar la webcam y poco más:

Código (cpp) [Seleccionar]
void Camera::enumerateCAMS()
{
wchar_t szDeviceName[80];
wchar_t szDeviceVersion[80];

int wIndex;
int count = 0;
for (wIndex = 0; wIndex < 10; wIndex++)
{
if (capGetDriverDescription(
wIndex,
szDeviceName,
sizeof(szDeviceName),
szDeviceVersion,
sizeof(szDeviceVersion)
))
{
// Append name to list of installed capture drivers
// and then let the user select a driver to use.

wcout << "Name: " << szDeviceName << endl;
wcout << "Version: " << szDeviceVersion << endl;

lstrcpyW(this->dispositivos[count], szDeviceName);
count++;
}
}
}

(Siento lo del código, pero la opción de ponerlo como código no me funciona)
Gracias.

MOD EDIT: Etiqueta GeSHi.

MCKSys Argentina

Hola!

Encontre este codigo en la web. Seguro te es util.

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


farenain

#2
Cita de: MCKSys Argentina en 26 Agosto 2016, 19:01 PM
Hola!

Encontre este codigo en la web. Seguro te es util.

Saludos!

Muchas gracias, voy a probarlo.


Acabo de probar el código pero principalmente lo que hace es un screenshot de la pantalla, no se si será por que toma como dispositivo la pantalla, pero creo debería tomar la webcam.

MCKSys Argentina

Cita de: farenain en 26 Agosto 2016, 19:02 PM
Acabo de probar el código pero principalmente lo que hace es un screenshot de la pantalla, no se si será por que toma como dispositivo la pantalla, pero creo debería tomar la webcam.

Es raro, porque en el punto 5 (WindowProc) entiendo que explica todo como para poder obtener una captura de la webcam.

Pero bueno, no manejo VC++ muy bien...  :P

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


farenain

Acabo de ver una solución que más o menos me ha funcionado, espero esto resuelva dudas a quien venga por detrás :) .

http://www.cplusplus.com/forum/windows/15189/