Agregar comentario a un JPG desde VB6

13/05/2010 - 13:39 por Sonia | Informe spam
Hola a todos!
Ojalá pueda alguien ayudarme, he buscado durante días sin encontrar lo que
necesito.
El tema es que desde una aplicación hecha en VB6, debo agregar un comentario
a fotos con extención JPG.
Lo que desde Windows se hace en Propiedades del archivo, ficha Resumen y
allí en Comentarios, agregamos el dato deseado.
Debo llegar a eso pero desde VB6, y no encontré modo de hacerlo.
Desde ya, a quien pueda ayudarme, muchas gracias.

Saludos!
desde Buenos Aires, Argentina
Sonia

Preguntas similare

Leer las respuestas

#1 Waldo
13/05/2010 - 15:05 | Informe spam
Hola Sonia, no se exactamente, pero se me ocurre por ej:
Editar el jpg con las propiedades de Win como vos mencionas, desp abrir el
jpg con algun editor Hexadecimal, para ver los bytes del archivo y buscar si
se ve el comentario que vos pusiste, habria que probar y ver con varios
archivos si se ubica siempre en el mismo lugar dentro del archivo.

Si es asi, abriendo con el vb el archivo en modo binario, tal vez se pueda
hacer

Es rebuscado, tal vez exista algun ocx, pero desconozco.

Saludos

Waldo



"Sonia" escribió en el mensaje
news:hsgodc$t27$
Hola a todos!
Ojalá pueda alguien ayudarme, he buscado durante días sin encontrar lo que
necesito.
El tema es que desde una aplicación hecha en VB6, debo agregar un
comentario a fotos con extención JPG.
Lo que desde Windows se hace en Propiedades del archivo, ficha Resumen y
allí en Comentarios, agregamos el dato deseado.
Debo llegar a eso pero desde VB6, y no encontré modo de hacerlo.
Desde ya, a quien pueda ayudarme, muchas gracias.

Saludos!
desde Buenos Aires, Argentina
Sonia


Respuesta Responder a este mensaje
#2 Sonia
13/05/2010 - 15:42 | Informe spam
Gracias Waldo, seguiré investigando, por lo visto no es muy sencillo.

Saludos!
desde Buenos Aires, Argentina
Sonia

"Waldo" <[waldodj2000] a r r o b a [yahoo Punto com Punto ar]> escribió en
el mensaje news:
Hola Sonia, no se exactamente, pero se me ocurre por ej:
Editar el jpg con las propiedades de Win como vos mencionas, desp abrir el
jpg con algun editor Hexadecimal, para ver los bytes del archivo y buscar
si se ve el comentario que vos pusiste, habria que probar y ver con varios
archivos si se ubica siempre en el mismo lugar dentro del archivo.

Si es asi, abriendo con el vb el archivo en modo binario, tal vez se pueda
hacer

Es rebuscado, tal vez exista algun ocx, pero desconozco.

Saludos

Waldo



"Sonia" escribió en el mensaje
news:hsgodc$t27$
Hola a todos!
Ojalá pueda alguien ayudarme, he buscado durante días sin encontrar lo
que necesito.
El tema es que desde una aplicación hecha en VB6, debo agregar un
comentario a fotos con extención JPG.
Lo que desde Windows se hace en Propiedades del archivo, ficha Resumen y
allí en Comentarios, agregamos el dato deseado.
Debo llegar a eso pero desde VB6, y no encontré modo de hacerlo.
Desde ya, a quien pueda ayudarme, muchas gracias.

Saludos!
desde Buenos Aires, Argentina
Sonia






Respuesta Responder a este mensaje
#3 langosta
13/05/2010 - 15:46 | Informe spam
"Waldo" <[waldodj2000] a r r o b a [yahoo Punto com Punto ar]> escribió
en el mensaje de noticias news:
Hola Sonia, no se exactamente, pero se me ocurre por ej:
Editar el jpg con las propiedades de Win como vos mencionas, desp
abrir el jpg con algun editor Hexadecimal, para ver los bytes del
archivo y buscar si se ve el comentario que vos pusiste, habria que
probar y ver con varios archivos si se ubica siempre en el mismo lugar
dentro del archivo.

Si es asi, abriendo con el vb el archivo en modo binario, tal vez se
pueda hacer

Es rebuscado, tal vez exista algun ocx, pero desconozco.

Saludos

Waldo




En vista+ existe un "property handler" dedicado a los jpg. Un módulo que
sabe como leer y escribir esta data (creo que el standard se llama exif
o algo así).

La historia pasa por usar la función PSCreateMemoryPropertyStore, para
obtener una implementación de IPropertyStore. Los métodos SetValue y
Commit de esta "interface" hacen el trabajo.

Digo, tal vez puedas encontar ejemplos de esto para VB.
Respuesta Responder a este mensaje
#4 Ignacio
13/05/2010 - 16:45 | Informe spam
¡Hola, Sonia!

Después de darle muchas vueltas sólo he conseguido modificar por
código las propiedades extendidas de un fichero mediante DSOfile. El
método no es simple.
Primero debes descargarte una librería de Microsoft, DSOfile.dll,
desde http://support.microsoft.com/kb/224351, donde se explica un poco
el proceso. Aunque diga que sólo funciona con documentos de Microsoft
Office a mí me ha funcionado con muchos otros, eso sí, con sintema de
archivos NTFS. No funciona con FAT. Una vez descargado el archivo se
ejecuta para que lo registre en el sistema.
A continuación, en Visual Basic se añade una referencia a la librería
DSOFile (DSO OLE Document Properties Reader 2.1) y copia el siguiente
código:
Private Sub ModificaComentario()
Const sFichero As String = "C:\Documents and Settings\Mis
documentos\Ejemplo.jpeg"
Dim objPropiedades As DSOFile.OleDocumentProperties,
objPropResumen As DSOFile.SummaryProperties

Set objPropiedades = New DSOFile.OleDocumentProperties
objPropiedades.Open sFichero
Set objPropResumen = objPropiedades.SummaryProperties
objPropResumen.Comments = "Comentario creado con DSOFile"
Set objPropResumen = Nothing
objPropiedades.Save
objPropiedades.Close
Set objPropiedades = Nothing
End Sub

Por último, cambia la constante sFichero por el nombre de tu fichero
con la ruta completa y la propiedad Comments por el comentario que
desees.

Espero que te funcione.
Un saludo,
Ignacio.
Respuesta Responder a este mensaje
#5 langosta
13/05/2010 - 17:07 | Informe spam
"Ignacio" escribió en el mensaje de noticias
news:
¡Hola, Sonia!

Después de darle muchas vueltas sólo he conseguido modificar por
código las propiedades extendidas de un fichero mediante DSOfile. El
método no es simple.
Primero debes descargarte una librería de Microsoft, DSOfile.dll,
desde http://support.microsoft.com/kb/224351, donde se explica un poco
el proceso. Aunque diga que sólo funciona con documentos de Microsoft
Office a mí me ha funcionado con muchos otros, eso sí, con sintema de
archivos NTFS. No funciona con FAT. Una vez descargado el archivo se
ejecuta para que lo registre en el sistema.
A continuación, en Visual Basic se añade una referencia a la librería
DSOFile (DSO OLE Document Properties Reader 2.1) y copia el siguiente
código:
Private Sub ModificaComentario()
Const sFichero As String = "C:\Documents and Settings\Mis
documentos\Ejemplo.jpeg"
Dim objPropiedades As DSOFile.OleDocumentProperties,
objPropResumen As DSOFile.SummaryProperties

Set objPropiedades = New DSOFile.OleDocumentProperties
objPropiedades.Open sFichero
Set objPropResumen = objPropiedades.SummaryProperties
objPropResumen.Comments = "Comentario creado con DSOFile"
Set objPropResumen = Nothing
objPropiedades.Save
objPropiedades.Close
Set objPropiedades = Nothing
End Sub

Por último, cambia la constante sFichero por el nombre de tu fichero
con la ruta completa y la propiedad Comments por el comentario que
desees.

Espero que te funcione.
Un saludo,
Ignacio.



Bien dicho. Ese modo sigue siendo funcional aunque no estés en XP.

Los jpg obviamente no son oledoc, por lo que la data en formato ole no
podía ser escrita impunemente en el archivo original. Por eso se usaban
archivos "fantasma" (los ADS) propios del NTFS no portables a otro file
system.

En vista+ se opta por escribir en el propio archivo (cuando es posible)
y en el standard disponible. Vos podés crear tu propio handler y esquema
xml para describir los datos a almacenar (abandonando los
identificadores usados por ole).
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida