Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] ¿Cómo puedo empaquetar una imágen dentro de un programa ejecutable?

Estas en el tema de ¿Cómo puedo empaquetar una imágen dentro de un programa ejecutable? en el foro de Python en Foros del Web. Hola a todos, tengo una duda, quisiera saber, ¿como puedo empaquetar una o varias imágenes dentro de un ejecutable creado con py2exe? Es decir, tengo ...
  #1 (permalink)  
Antiguo 07/03/2014, 22:42
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
¿Cómo puedo empaquetar una imágen dentro de un programa ejecutable?

Hola a todos, tengo una duda, quisiera saber, ¿como puedo empaquetar una o varias imágenes dentro de un ejecutable creado con py2exe?
Es decir, tengo un programa y quisiera pasarlo a ejecutable, hasta ahí todo bien, pero el tema es que yo no quiero que las imágenes, que bueno en este caso es una sola, vaya en una carpeta junto con el exe, ni tampoco dentro de library.zip (a menos que esta compilada o algo así)
Osea pueden ir ciertas imágenes que utiliza el programa junto con el .exe, pero no todas, ya que pueden reemplazarlas y eso es lo que no deseo.
Por ejemplo un logo del programa o una foto del autor, esas son cosas que no deberían estar junto con el .exe (en la misma carpeta), sino dentro de él así no puedan modificarlas/reemplazarlas, eso es lo quiero saber si eso es posible.
Me imagino y por lo que andube leyendo esto pueda conseguirse con una opción de py2exe, he probado esta opción que he encontrado en " http://www.py2exe.org/index.cgi/data_files ":

Código Python:
Ver original
  1. from distutils.core import setup
  2. import py2exe
  3.  
  4. Mydata_files = [('images', ['C:\Users\Daniel\Desktop\\favicon.ico'])]
  5.  
  6. setup(
  7.     console=['Probando.py'],
  8.     data_files = Mydata_files,
  9.     options={
  10.                 "py2exe":{
  11.                         "unbuffered": True,
  12.                         "optimize": 2,
  13.                         "excludes": ["email"]
  14.                 }
  15.         }
  16. )

Pero no me ha servido, no funciona, porque cuando habro el programa si se ve el favicon (estando todavía la imagen), pero si yo lo borro al favicon luego de ser pasado a ejecutable, me aparece una ventana de error diciendo que el archivo "favicon.ico" no se encuentra en X directorio.
Y supuestamente lo mete ahí dentro para que no lo puedan modificar, pero al borrarlo, cuando habro de nuevo el programa me salta esa ventana, osea que todavía sigue dependiendo de que el archivo favicon.ico esté en X ruta para que sea visible y cargado en el programa.
Ahora mi otra duda es, (en el caso que esto si sea posible osea meter una imagen dentro del .exe o de alguna manera que la imagen no pueda ser modificada) ¿como haría en el código fuente de Python para indicarle al mismo donde estaría la imagen? ya que si la imagen estaría dentro del .exe no la podría encontrar, ahí no sé como hacerlo, por ejemplo en esta parte del código cuando establezco el favicon:

Código Python:
Ver original
  1. icono = "C:\Users\Daniel\Desktop\\favicon.ico"
  2.         favicon = wx.Icon(icono, wx.BITMAP_TYPE_ICO)
  3.         wx.Frame.SetIcon(self,favicon)

Bueno ahí en la variable "icono" que debería poner? en el caso que la imagen esté dentro del .exe?
He visto programas en C ya compilados y llenos de símbolos, que hay directorios y ahí dentro están las imagenes, pero esos directorios y esas imágenes no existen en mi pc, sino que están dentro del mismo programa.
Bueno amigos espero que me ayuden por favor, les agradecería de corazón, igual desde ahora les agradezco. Muchas gracias!!
Que tengan buen día!
  #2 (permalink)  
Antiguo 08/03/2014, 12:23
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: ¿Cómo puedo empaquetar una imágen dentro de un programa ejecutable?

Podes usar autopy, creo que tiene una función para pasar imágenes a un string que lo guardas en una constante y después lo descomprimis
  #3 (permalink)  
Antiguo 08/03/2014, 16:27
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Cómo puedo empaquetar una imágen dentro de un programa ejecutable?

Hola amigo carbon, gracias por responder.
Me podrias por favor explicar que es "autopy" y como se debe utilizar?
En realidad yo no deseo comprimir la imagen, lo que deseo es que la imagen quede dentro del programa .exe asi no se pueda modificar porque claro estaria dentro de ese programa.
Por favor amigo podrias ser tan amable de explicarme como lo puedo hacer?
Poneme unos ejemplos de como hacer posible eso, por favor.
Te agradezco desde ya, muchas gracias!!
  #4 (permalink)  
Antiguo 08/03/2014, 18:27
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: ¿Cómo puedo empaquetar una imágen dentro de un programa ejecutable?

La página de autopy es esta: http://www.autopy.org/
Y aca hay un tutorial en español: http://recursospython.com/guias-y-ma...utopy-toolkit/

  #5 (permalink)  
Antiguo 08/03/2014, 19:35
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: ¿Cómo puedo empaquetar una imágen dentro de un programa ejecutable?

Para el caso especifico de iconos:
http://www.py2exe.org/index.cgi/CustomIcons

Si tienes problema creando empaquetados puedes probar esta herramienta:
https://code.google.com/p/gui2exe/
  #6 (permalink)  
Antiguo 08/03/2014, 23:36
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo Respuesta: ¿Cómo puedo empaquetar una imágen dentro de un programa ejecutable?

Hola nuevamente!!
He probado el método de la librería AutoPy y me funcionó perfectamente!!, osea por más que sólo tenga que especificar en una variable tipo string muchos caracteres, pero me sirve ya que así puedo hacer que el programa compare si se ha modificado la imagen, hice varias pruebas y todo resultó con éxito, así que contento!!!
Quiero agradecerlos a los 2 carbon y razpeitia por su gran ayuda y por el material que es una gran herramienta para mi, les agradezco de corazón y así da gusto postear ya que demuestran el buen corazón que tienen, voy a recomendar este Foro, me he sentido bien tratado aquí, lamentablemente no puedo decir eso de otros Foros que sólo he recibido malos tratos y mala educación.
Gracias chicos por su aporte, muchas gracias, que Dios los bendiga compañeros.
Hasta pronto y que tengan buen día!!
  #7 (permalink)  
Antiguo 09/03/2014, 11:59
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: ¿Cómo puedo empaquetar una imágen dentro de un programa ejecutable?

De nada!

Etiquetas: gui, imágen, ip, programa, ventana
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:36.