Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-01-2018
lago lago is offline
Miembro
 
Registrado: nov 2015
Posts: 40
Poder: 0
lago Va por buen camino
WIA y Cámara Reflex conectada por USB "busy"

Hola, llevo un tiempo queriendo implementar la función de transferencia de fotos de la camara fotográfica al PC "al vuelo" en mi programa.
Utilizo una librería que controla las funciones básicas de WIA para transferir imágenes. Mi problema es que necesito que lo haga según saco la foto. Básicamente lo que hace LightRoom con su disparo remoto.

Explico el problema... al conectar la cámara mediante USB ésta se pone en modo transferencia de datos. Puedo verla como dispositivo WIA y puedo acceder al contenido de la tarjeta de memoria. Peeerooo, no puedo utilizar la cámara para sacar una foto mientras esta conectada por USB. En este caso cuando abro "Canon Utility2" la cámara sale del modo transferencia y puedo disparar con ella... de hecho hasta puedo controlarla remotamente con la utilidad de Canon. Al cerrar la utilidad, la cámara vuelve al modo transferencia de ficheros.

Veo que hay un Canon SDK y un Nikon SDK, y un XXX SDK, no creo que la manera de poder hacerlo sea trasteando con tooooodos los SDK de cada marca.

Buscando por el foro y por google entero hasta rusia y alemania he encontrado poca cosa, he visto la WIALIB_TBL pero no encuentro la función adecuada...

¿Alguien conoce la manera de gestionar esto utilizando WIA?

Muchas gracias de antemano.

Última edición por lago fecha: 24-01-2018 a las 14:34:23. Razón: Titulo confuso
Responder Con Cita
  #2  
Antiguo 24-01-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes echar un vistazo al código fuente de algunos de esos programas. Seguro que hay más de uno libre y puedes trastear con el mismo.
Quizás buscando por "canikon hack", o algo así
Responder Con Cita
  #3  
Antiguo 24-01-2018
lago lago is offline
Miembro
 
Registrado: nov 2015
Posts: 40
Poder: 0
lago Va por buen camino
Hola Casimiro, curioso lo del canikon hack si en su día probé el MagicLantern para mi 50D que desbloqueaba la funcionalidad de grabar video! lástima que aunque el software estaba preparado, el hardware sin estabilizador de imagen ... ni con trípode... unos meneitos chulos

El caso es que llevo toda la mañana buscando algo así, encontre http://digicamcontrol.com/ que es software libre pero me mareo al ver el código, intentaré analizarlo con más calma a ver si consigo encontrar algo...

Gracias por tu respuesta!
Responder Con Cita
  #4  
Antiguo 26-01-2018
lago lago is offline
Miembro
 
Registrado: nov 2015
Posts: 40
Poder: 0
lago Va por buen camino
Pues sí... para estas gaitas parece ser que toca lidiar con los SDK de cada marca... para los cuales hay que hacer una solicitud... he conseguido los últimos de Canon y a ver si los de Nikkon son majetes y me dan acceso también

El caso es que el proyecto esta en Visual Studio 2005 y he tenido que trastear un rato para hacerlo funcionar con Builder. Por si a alguien le resulta últil pongo como lo hice:


En el raiz del SDK tenemos varios directorios, dentro de "EDSDKv0306-1W\Windows\EDSDK" encontramos "HEADER" donde debemos copiar las tres librerias al path de nuestra aplicación:

Código:
-ar---       31/07/2017     17:41          56486 EDSDK.h
-ar---       31/07/2017     17:41          12382 EDSDKErrors.h
-ar---       31/07/2017     17:41          52636 EDSDKTypes.h
Dentro de "EDSDKv0306-1W\Windows\EDSDK\Library" tenemos el fichero EDSDK.lib que funciona con Visual Studio. He probado a convertirlo para BC con la salvaculos "coff2omf.exe", pero no.
Aparentemente la conversión es correcta, pero al intentar compilar da un Error al linkar la librería.

Después de un rato, he utilizado "implib.exe" sobre la DLL principal:

Código:
EDSDKv0306-1W\Windows\EDSDK\Dll> implib.exe EDSDK_BC_Implib.lib .\EDSDK.dll
La he importado al proyecto, he añadido #include "EDSDK.h" a la aplicación y con EdsInitializeSDK(); arrancado el SDK...

Siempre quedo fascinado cuando el software hace que el hardware haga algo "físico"... parece magia...
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Usar TServerSocket y TClientSocket para enviar "streams" más o menos "grandes" dec Internet 9 04-08-2015 17:11:50
El programa se queda "colgado" mientras copia y luego "despierta" NeWsP OOP 5 10-03-2010 23:05:40
"OBJECT OR CLASS TYPE REQUIRED" en "APPLICATION EXENAME" Xavierator Varios 3 27-10-2008 10:09:50
Necesito llamar a métodos de clases "hija" desde su clase "padre" Flecha OOP 17 20-04-2007 01:03:53
"Directory Bussy" ¿ocupado??? Por que??? JamesBond_Mx Conexión con bases de datos 2 20-03-2004 01:27:29


La franja horaria es GMT +2. Ahora son las 23:03:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi