Hola, esto es lo que necesitas. Para mejor información presiona F1 ahí hay mucha información y ejemplos de cada funcion de autoit.
Código: Seleccionar todo
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 343, 220, 192, 124)
$Button1 = GUICtrlCreateButton("Button1", 112, 176, 97, 33)
$Pic1 = GUICtrlCreatePic("", 24, 8, 289, 145)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $Button1
$tuimagen=FileOpenDialog("Imagenes",@ScriptDir,"Imagenes (*.jpg;*.bmp;*.gif)",1)
GUICtrlSetImage($Pic1,$tuimagen)
EndSwitch
WEnd
Saludos
Muchisimas gracias.
autoti ¡Felicidades por tu comienzo en este apasionante lenguaje!
Creo que es una buena idea empezar por hacer un programa para manejar otro como OptiPNG.
La parte del GUI ya te la ha orientado Dany y para luego ejecutar OptiPNG tienes la función run de Autoit.
La ayuda de Autoit es muy buena, y tiene muchos ejemplos. Si necesitas que te echemos una mano, ya sabes donde seguir preguntando
¡Suerte! Y si lo deseas, publica tu código cuando esté listo para usar, que seguro que nos aportas ideas al resto de usuarios.
Si, es realmene grande el lenguaje, justo lo que buscaba, ligero y facil, sin frameworks ni dependencias estorbantes.
La documentacion de autoit es exelente, esta una traducción en el foro por otro usuario, pero un poco desactualizada, así que yo mismo me puse a traducir la actual (v3.3.8.1) para ahorrar mucho trabajo, en base a la anterior traducida.
Y estare molestando bastante, ya que pregunto mucho xD
Gracias por el dato de run, por ahora no e echo nada, pero quisiera saber como abrir imagenes PNG, ya que note que solo abre gif, jpg y bmp :(
Ironicamenete (como es obvio) el formato que nesesito es PNG pues OptiPNG trabaja con tal
Muchas a gracias, se ve buena onda el foro!
y pues aca el codigo para mostrar mas o menos como lo quiero, luego que tome experiencia pues lo retoco :P
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Forma = GUICreate("OptiPNG IGU", 422, 423, 270, 150)
$Boton1 = GUICtrlCreateButton("Elegir Imagen...", 8, 400, 97, 17)
$Boton2 = GUICtrlCreateButton("Comensar", 112, 400, 97, 17)
$Boton3 = GUICtrlCreateButton("Cancelar", 216, 400, 97, 17)
$Boton4 = GUICtrlCreateButton("Acerca de...", 320, 400, 97, 17)
$Slider1 = GUICtrlCreateSlider(8, 376, 305, 17)
$Checkbox1 = GUICtrlCreateCheckbox("Cerrar al finalizar", 320, 376, 97, 17)
$GrupoImagen = GUICtrlCreateGroup("Imagen", 8, 8, 409, 361)
$Pic1 = GUICtrlCreatePic("", 16, 24, 393, 337)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Boton1
$tuimagen=FileOpenDialog("Seleccione Imagen...",@ScriptDir,"Imagenes PNG(*.png; *.bmp; *.jpg; *.gif)",1)
GUICtrlSetImage($Pic1,$tuimagen)
Case $Boton2
Case $Boton3
Exit
EndSwitch
WEnd
Edito:
Como puedo llamar a OptiPNG.exe suponiendo que esta en el mismo lugar que la GUI, osea quiero hacer (aprender) esto.
* que la imagen que abra desde la gui sea (obviamente) es la que se va a optimizar con optipng.
* crear un combo que contenga un grupo de niveles de optimizacion de optipng y asi prosesar las imagenes.
(aun no se como crear un combo y que tenga varias opciones)
* Que el boton "Comenzar" Aplique la opcion seleccionada del combo a la imagen abierta con optipng.
Niveles de optimizacion de optipng
Optimization levels:
-o0 <=> -o1 -nx -nz (0 or 1 trials)
-o1 <=> -zc9 -zm8 -zs0 -f0 (1 trial)
(or...) -zc9 -zm8 -zs1 -f5 (1 trial)
-o2 <=> -zc9 -zm8 -zs0-3 -f0,5 (8 trials)
-o3 <=> -zc9 -zm8-9 -zs0-3 -f0,5 (16 trials)
-o4 <=> -zc9 -zm8 -zs0-3 -f0-5 (24 trials)
-o5 <=> -zc9 -zm8-9 -zs0-3 -f0-5 (48 trials)
-o6 <=> -zc1-9 -zm8 -zs0-3 -f0-5 (120 trials)
-o7 <=> -zc1-9 -zm8-9 -zs0-3 -f0-5 (240 trials)
-o7 -zm1-9 <=> -zc1-9 -zm1-9 -zs0-3 -f0-5 (1080 trials)
Aqui el codigo de la gui un poco cambiada.
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Forma = GUICreate("OptiPNG IGU", 422, 423, 270, 150)
$Boton1 = GUICtrlCreateButton("Elegir Imagen...", 8, 400, 97, 17)
$Boton2 = GUICtrlCreateButton("Resultado...", 112, 400, 97, 17)
$Boton3 = GUICtrlCreateButton("Comensar", 216, 400, 97, 17)
$Boton4 = GUICtrlCreateButton("Acerca de...", 112, 376, 201, 17)
$Boton5 = GUICtrlCreateButton("Cancelar", 320, 400, 97, 17)
$Checkbox1 = GUICtrlCreateCheckbox("Cerrar al finalizar", 320, 376, 97, 17)
$GrupoImagen = GUICtrlCreateGroup("Imagen", 8, 8, 409, 361)
$Pic1 = GUICtrlCreatePic("", 16, 24, 393, 337)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Combo1 = GUICtrlCreateCombo("Combo1", 8, 376, 97, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Boton1
$tuimagen=FileOpenDialog("Seleccione Imagen...",@ScriptDir,"Imagenes PNG(*.png; *.bmp; *.jpg; *.gif)",1)
GUICtrlSetImage($Pic1,$tuimagen)
Case $Boton5
Exit
EndSwitch
WEnd
Bueno con ver la gui creo que se entiende la idea :P xD