Google Maps (III)
Crear imágenes para las flechas de dirección
Las flechas de dirección que hemos puesto sobre el mapa, son un conjunto de imágenes cuya rotación varia en 3º a la derecha. La creación de estas imágenes nos llevaría mucho tiempo, pero, por suerte, existen programas como el Photoshop que permiten automatizar tareas con programación en Visual Basic.Para este caso, he utilizado las librerías que ofrece Photoshop CS2, pero supongo que la sintaxis es muy parecida en versiones anteriores. La especificación de los objetos la podéis encontrar en la web de Adobe. También se podría haber hecho algo parecido con CorelDraw o AutoCad.
Se podría utilizar cualquier programa que admita la programación VBA, en mi caso utilicé Microsoft Excel porque era lo que tenía más a mano. Simplemente creo un botón y le asigno el siguiente código:
Public Sub generaImagen()
Dim appRef, doc, opciones
Set appRef = CreateObject("Photoshop.Application")
Set opciones = CreateObject("Photoshop.ExportOptionsSaveForWeb")
opciones.PNG8 = False
opciones.Format = psPNGSave
For i = 1 To 119
doc = "C:\dir\dir_0.psd"
appRef.Open doc
appRef.ActiveDocument.ActiveLayer.Rotate (i * 3), psMiddleCenter ' Rotar 3º con bloqueo en el centro
appRef.ActiveDocument.Export "C:\dir\dir_" & (i * 3) & ".png", psSaveForWeb, opciones
appRef.ActiveDocument.Close psDoNotSaveChanges
Next
Set opciones = Nothing
Set appRef = Nothing
End Sub
Además es muy importante añadir las referencias a las bibliotecas de Photoshop. Para ello accedo al menú Herramientas, Referencias desde el editor de código y selecciono:
- Adobe Photoshop 9.0 Object Library.
6 comentarios:
La verdad muy bueno, quería consultarte donde puedo ver el ejemplo funcionando para poder entenderlo mejor.
Hola, respondes preguntas del blog?
Hola Martín, lo intento, pero voy muy mal de tiempo. Pregunta y trataré de contestarte.
Aprovechando, a Luis no le he podido contestar porque la web donde tenía el ejemplo ya no está operativa.
ok, mi consulta es para con el codigo de automatizacion de una accion del photoshop... instale el photoshop cs2, agregue la libreria al proyecto(trabajo con visual studio 2005) hice referencia a la libreria, el problema me surge al crear el objeto appref = CreateObject("photoshop.Application") esto abre el photoshop pero al de manera siguiente me dice que no puede crear el objeto Activex, a que se puede deber este aviso? desde ya muchas gracias
Solucionado, era una cuestion de permisos del sistema operativo...
Lo siento, voy muy liado, además estuve la semana pasada sin internet. Me alegro que lo hayas solucionado.
Publicar un comentario