 |
AutoHotkey Community Wir helfen uns gegenseitig aus der Patsche
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Jonnybe
Anmeldedatum: 30.04.2008 Beiträge: 8
|
Verfasst am: Mi Apr 30, 2008 1:19 pm Titel: Datei im Öffnen Dialog selektieren |
|
|
Hallo,
bin neu hier in diesem Forum und ebenso neu in der Benutzung von AHK.
Ich habe einen Skript geschrieben der mit Paint Shop Pro den Öffnen Dialog benutzt um eine jpg-Datei auszuwählen, die Bildgröße zu ändern und abzuspeichern.
Weil ich es aber nicht geschafft habe eine Datei auszuwählen habe ich alle Dateien mit einem Namen und einem Index versehen. Z.B. Fotoframe(99).
Diese habe ich dann mit Loop nacheinander abgearbeitet was auch funktionierte.
In Zukunft möchte ich aber auch einzelne Dateien unabhängig des Namen selektieren können. Es gibt aber m.E. dafür keinen Befehl.
Hier mein Skript.
| Code: | #y::
;Variablendeklaration
MyVar = 1 ;zählt die zu bearbeitenden Bilder
loop 100 ;loop wird x mal durchlaufen
{
WinWait, Paint Shop Pro,
IfWinNotActive, Paint Shop Pro, , WinActivate, Paint Shop Pro,
WinWaitActive, Paint Shop Pro,
MouseClick, left, 577, 39
Sleep, 100
Send, {CTRLDOWN}o{CTRLUP}
WinWait, Öffnen,
IfWinNotActive, Öffnen, , WinActivate, Öffnen,
WinWaitActive, Öffnen
Send, Fotoframe (%MyVar%).jpg
MouseClick, left, 384, 212
Sleep, 100
IfWinNotActive, Paint Shop Pro - Fotoframe (%MyVar%).jpg, , WinActivate, Paint Shop Pro - Fotoframe (%MyVar%).jpg,
WinWaitActive, Paint Shop Pro - Fotoframe (%MyVar%).jpg,
MouseClick, left, 163, 29
Sleep, 100
MouseClick, left, 237, 160
Sleep, 100
WinWait, Bildgröße ändern,
IfWinNotActive, Bildgröße ändern, , WinActivate, Bildgröße ändern,
WinWaitActive, Bildgröße ändern,
Send, {BACKSPACE}720
MouseClick, left, 232, 67
Sleep, 100
Send, {BACKSPACE}{BACKSPACE}{BACKSPACE}480
MouseClick, left, 52, 366
Sleep, 100
WinWait, Paint Shop Pro - Fotoframe (%MyVar%).jpg,
IfWinNotActive, Paint Shop Pro - Fotoframe (%MyVar%).jpg, , WinActivate, Paint Shop Pro - Fotoframe (%MyVar%).jpg,
WinWaitActive, Paint Shop Pro - Fotoframe (%MyVar%).jpg,
Send, {CTRLDOWN}s{CTRLUP}
MouseClick, left, 843, 173
Sleep, 100
Send, {CTRLDOWN}{F4}{CTRLUP} ;Aktives Bildfenster schliessen
; geht auch mit WinClose
MyVar := MyVar + 1
} |
Für Hilfe wäre ich dankbar.  |
|
| Nach oben |
|
 |
John W
Anmeldedatum: 03.05.2007 Beiträge: 180 Wohnort: /home/john
|
Verfasst am: Mi Apr 30, 2008 1:44 pm Titel: |
|
|
Gibt es dafür keine Kommandozeilenparameter?
Sieh mal in der Hilfe nach, bessere Programme bieten über di Kommandozeile die gängigen Aktionen. _________________ John
Inaktiv - bis AHK für Linux kommt.
 |
|
| Nach oben |
|
 |
fredchf
Anmeldedatum: 18.09.2006 Beiträge: 716 Wohnort: Deutschland
|
Verfasst am: Mi Apr 30, 2008 4:13 pm Titel: |
|
|
hallo!
vielleicht wäre das hier für dich noch eine option!dann kannst du die bilder im explorer selektieren  _________________ Mit freundlichen Grüßen
fredchf |
|
| Nach oben |
|
 |
Chucky
Anmeldedatum: 07.01.2006 Beiträge: 705 Wohnort: Powerland
|
Verfasst am: Mi Apr 30, 2008 8:24 pm Titel: |
|
|
| John W hat Folgendes geschrieben: | Gibt es dafür keine Kommandozeilenparameter?
Sieh mal in der Hilfe nach, bessere Programme bieten über di Kommandozeile die gängigen Aktionen. | Jo, sowas geht z. B. mit IrfanView: | Code: | | i_view32.exe *.jpg /resize_long=500 /aspectratio /resample /convert=*.png | falls Du mit einem Rutsch alle Dateien in einem Ordner umwandeln willst. |
|
| Nach oben |
|
 |
Jonnybe
Anmeldedatum: 30.04.2008 Beiträge: 8
|
Verfasst am: Mi Apr 30, 2008 9:19 pm Titel: |
|
|
| John W hat Folgendes geschrieben: | Gibt es dafür keine Kommandozeilenparameter?
Sieh mal in der Hilfe nach, bessere Programme bieten über di Kommandozeile die gängigen Aktionen. |
Ein Parameter ist mir leider dafür nicht bekannt.  |
|
| Nach oben |
|
 |
Jonnybe
Anmeldedatum: 30.04.2008 Beiträge: 8
|
Verfasst am: Mi Apr 30, 2008 9:24 pm Titel: |
|
|
| Chucky hat Folgendes geschrieben: | | John W hat Folgendes geschrieben: | Gibt es dafür keine Kommandozeilenparameter?
Sieh mal in der Hilfe nach, bessere Programme bieten über di Kommandozeile die gängigen Aktionen. | Jo, sowas geht z. B. mit IrfanView: | Code: | | i_view32.exe *.jpg /resize_long=500 /aspectratio /resample /convert=*.png | falls Du mit einem Rutsch alle Dateien in einem Ordner umwandeln willst. |
Danke, das hört sich ja interessant an. Ich werde das mal prüfen. |
|
| Nach oben |
|
 |
Jonnybe
Anmeldedatum: 30.04.2008 Beiträge: 8
|
Verfasst am: Mi Apr 30, 2008 9:42 pm Titel: |
|
|
| fredchf hat Folgendes geschrieben: | hallo!
vielleicht wäre das hier für dich noch eine option!dann kannst du die bilder im explorer selektieren  |
Erst mal schönen Dank für den Hinweis. Ich habe aber das Gefühl, dass es hier nur um Resize Funktionen geht. Ich möchte auch andere Vorgänge mit PSP automatisieren. Aber der Weg einer Selektierung über den Explorer wäre ok. Welches deines geposteten Skripts wäre dafür der Richtige? |
|
| Nach oben |
|
 |
DerRaphael
Anmeldedatum: 09.01.2008 Beiträge: 1232 Wohnort: 127.0.0.1
|
Verfasst am: Do Mai 01, 2008 1:25 am Titel: |
|
|
wenn du eine vom explorer ausgewählte datei kopierst, steht in der variable clipboard der dateiname inkl pfad (für mehr als eine datei benötigst du andere lösungen - auch hier im forum zu finden)
nundenn - den dateinamen (inkl pfad) kannst du in jedem windows öffnen dialog verwenden, um so dateien zu laden. das ist unabhängig davon, welches verzeichnis der dialog gerade sieht: also kannst du, wenn der dialog die gerade c:\verzeichnisA anzeigt, die datei z:\anderesVerzeichnis\meinedatei.txt laden indem du einfach ihren ganzen pfad als namen einträgst _________________
|
|
| Nach oben |
|
 |
Chucky
Anmeldedatum: 07.01.2006 Beiträge: 705 Wohnort: Powerland
|
Verfasst am: Do Mai 01, 2008 8:27 am Titel: |
|
|
@Jonnybe
| Zitat: | | Ich habe aber das Gefühl, dass es hier nur um Resize Funktionen geht. Ich möchte auch andere Vorgänge mit PSP automatisieren. | Welche denn?
Solange es allgemeine Veränderungen der Bilder geht (z. B. Resize, beschneiden, Format wandeln, Farbtiefe ändern, Ausdrucken, Qualität einstellen, Rotieren, Gamma-Wert/Helligkeit/Kontrast verändern, Screen- oder Window-Capture, Panoramabilder erzeugen, Copy/Paste), bist Du mit einer Kommandozeilenlösung gut bedient. Gimp hat sogar eine eigene Scriptsprache, mit der sich wesentlich mehr machen läßt; IMO auch Zeichnen, hab' ich aber noch nicht ausprobiert.
__________________________________________
Created with BBCodeWriter 7.0 - the one and only  |
|
| Nach oben |
|
 |
Amiga-Falcon
Anmeldedatum: 24.12.2006 Beiträge: 215
|
Verfasst am: Fr Mai 02, 2008 8:48 am Titel: |
|
|
Moinsen,
zugegeben, ich kenne PSP nur bis zur 6´er Version. Aber kann der nicht ohnehin "Batch-Convert" ?
Wieso umständlich eine Funktion proggen, die das Programm (evtl.) schon längst beherrscht ?
Amiga-Falcon |
|
| Nach oben |
|
 |
Jonnybe
Anmeldedatum: 30.04.2008 Beiträge: 8
|
Verfasst am: Fr Mai 02, 2008 9:33 pm Titel: |
|
|
| Amiga-Falcon hat Folgendes geschrieben: | Moinsen,
zugegeben, ich kenne PSP nur bis zur 6´er Version. Aber kann der nicht ohnehin "Batch-Convert" ?
Wieso umständlich eine Funktion proggen, die das Programm (evtl.) schon längst beherrscht ?
Amiga-Falcon |
Moin moin,
ich habe nur die PSP Version 5.03. Batchkonvertierung ist aber auch moglich. Es ist jedoch nur das Format änderbar.
Mir gehts eher um die Bildbearbeitung, die automatisiert Bilder in Göße, Auflösung, Helligkeit und dergleichen ändert für bis zu tausend Bilder. |
|
| Nach oben |
|
 |
Jonnybe
Anmeldedatum: 30.04.2008 Beiträge: 8
|
Verfasst am: So Mai 04, 2008 9:58 am Titel: |
|
|
Nochmal besten Dank für alle Hinweise die ich bis jetzt bekommen habe.
Ich habe aber das Gefühl, dass ich meine Idee noch weiter präzisieren muss. Also:
Es soll sich der Öffnen Dialog öffnen und die 1. Datei automatisch ausgewählt werden, die dann von der Anwendung übernommen, bearbeitet und abgespeichert wird. Die Schleife öffnet wieder den Öffnen Dialog und es wird die 2. Datei automatisch ausgewählt und bearbeitet, usw., bis alle Dateien des Pfades bearbeitet sind.
Der ganze Prozess soll einmal angestossen ohne weiteres zutun ablaufen.
Lässt sich sowas mit AHK bewerkstelligen? |
|
| Nach oben |
|
 |
Z Gecko Gast
|
Verfasst am: So Mai 04, 2008 11:01 am Titel: |
|
|
Also, sowas lässt sich natürlich bewrkstelligen.
Und zwar auf diversen Wegen.
Nur sind alle eher aufwendig verglichen mit einem Script, das ein Kommandozeilenwerkzeug benutzt. (Das wären dann nur 3 - 7 Zeilen Script)
Das schon erwähnte IrfanView kann schon einiges:
| Zitat: |
Liste einiger command line options von IrfanView:
/convert=filename - convert input file to "filename" and CLOSE IrfanView
/page=X - open page number X from a multipage input image
/crop=(x,y,w,h) - crop input image: x-start, y-start, width, height
/print - print (all pages) to default printer and CLOSE IrfanView
/print="Name" - print (all pages) to specific printer and CLOSE IrfanView
/resize=(w,h) - resize input image to w (width) and h (height)
/resample=(w,h) - resample input image to w (width) and h (height)
/capture=X - capture the screen or window
/ini - use the Windows folder for INI/LST files (read/save)
/ini="Folder" - use the folder "Folder" for INI/LST files (read/save)
/clippaste - paste image from the clipboard
/clipcopy - copy image to the clipboard
/invert - invert the input image
/dpi=(x,y) - change DPI values
/scan - acquire the image from the TWAIN device (show TWAIN dialog)
/scanhidden - acquire the image from the TWAIN device (hide TWAIN dialog)
/batchscan=(options) - simulate menu: File->Batch Scan, see below for example
/bpp=BitsPerPixel - change color depth of the input image to BitsPerPixel
/swap_bw - swap black and white color
/gray - convert input image to grayscale
/rotate_r - rotate input image to right
/rotate_l - rotate input image to left
/sharpen=X - open image and apply the sharpen filter value X
/contrast=X - open image and apply the contrast value X
/aspectratio - used for /resize and /resample, keep image proportions
/info=txtfile - write image infos to "txtfile"
/append=tiffile - append image as (TIF) page to "tiffile"
/multitif=(tif,files) - create multipage TIF from input files
/jpgq=X - set JPG save quality
/tifc=X - set TIF save compression
/wall=X - set image as wallpaper
/extract=(file,ext) - extract all pages from a multipage file
/import_pal=palfile - import and apply a special palette to the image (PAL format)
|
wenn Dir das nicht reicht, gibt es noch Image Magic,
das eine Reihe von Kommandozeilen-Programmen enthält,
die eigentlich alles können, was Photoshop oder GIMP auch können.
http://www.imagemagick.org/script/command-line-tools.php
Jedes von diesen Programmen wird wahrscheinlich deine gewünschten Bildmanipultionen beherschen (Image Magic ganz bestimmt), und der ganze Prozess wird schneller und viel störungssicherer ablaufen, als eine automation von PSP.
Daher kann ich Dir nur empfehlen den Ansatz zu ändern. |
|
| Nach oben |
|
 |
Jonnybe
Anmeldedatum: 30.04.2008 Beiträge: 8
|
Verfasst am: Mi Mai 14, 2008 9:01 pm Titel: |
|
|
| Chucky hat Folgendes geschrieben: | | John W hat Folgendes geschrieben: | Gibt es dafür keine Kommandozeilenparameter?
Sieh mal in der Hilfe nach, bessere Programme bieten über di Kommandozeile die gängigen Aktionen. | Jo, sowas geht z. B. mit IrfanView: | Code: | | i_view32.exe *.jpg /resize_long=500 /aspectratio /resample /convert=*.png | falls Du mit einem Rutsch alle Dateien in einem Ordner umwandeln willst. |
Leider funktioniert dein Vorschlag nicht, es kommt immer die Meldung "this line does not contain a recognized action". Dabei sollte dies eigentlich funktionieren. Ich habe alle notwendigen Pfade angegeben und IrfanView gestartet. Erfolglos. Kann man da was falsch machen? |
|
| Nach oben |
|
 |
BoBo² Gast
|
Verfasst am: Mi Mai 14, 2008 9:07 pm Titel: |
|
|
| Zitat: | | Dabei sollte dies eigentlich funktionieren | Vielleicht hab ichs ja mit den Augen. Sieht Eine(r) das von ihm/ihr angesprochene 'dies' auch nicht??  |
|
| Nach oben |
|
 |
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|