V minulém díle jsme se naučili pozvolna vytvářet vlastní kontextová menu a lehce jsme rozšířili Operu o možnost převádět měny na koruny. Dneska budeme manipulovat s obrázky.
Obrázky
Osobně dost často obrázky z webu buďto stahuju k archivaci, nebo je ukladám do “bordel složky”, kde s nimi různě manipuluji a nebo je potřebuju narychlo zmenšit a uložit. Všechny tyto činnosti se dají dost zpříjemnit.
Nejdříve vytvoříme příkaz, který nám otevře obrázek v (alespoň mnou) oblíbeném IrfanView. Základ je logicky pro obě platformy stejný, odlišnosti jsou pak pouze ve způsobu volání Irfanu. Jen pro pořádek - příkaz Copy image zkopíruje obrázek do schránky a Execute program spustí příkaz i s vlastními parametry (poslední úvozovky).
Windows:
Item, Open in IrfanView = Copy image & Execute program, "C:\Program Files\IrfanView\i_view32.exe", "/clippaste"
Linux:
Tady je situace, trošku komplikovanější, protože je třeba Irfan zpouštět přes wine, ale pomocí tohoto šikovného skriptíku, to nebude o moc složitější než v předchozím případě:
Item, Open in IrfanView = Copy image & Execute program, "/home/starenka/.scripts/irfanview.sh", "/clippaste"
Jak už jste jistě odhadli, parametr /clippaste říká IrfanView, že má vytvořit nový obrázek z obsahu schránky.
Ukládání obrázků
K uložení obrázku rovnou do přednastavených složek mě vedla lenost vždy dohledávat v ukládacím dialogu cestu, kam zrovna daný obrázek chci uložit. Vyřešit se to dá celkem jednoduše. Protože takových složek používám vícero a kontextové menu není uplně nafukovací, vytvořil jsem si takové nenásilné “podmenu”. Pro ilustraci raději vložím kód celého kontextového menu…
[Image Popup Menu]
Item, Open in IrfanView = Copy image & Execute program, "/home/starenka/.scripts/irfanview.sh", "/clippaste"
;zde je nadefinovano submenu
Submenu, "save to...", saveto
Item, 50419 = Copy image address
--------------------1
Item, 67651 = Open image
Item, 70486 = Load image
--------------------2
Item, 50262 = Save image
Item, 70466 = Copy image
Platform Windows-Mac-QNX, Item, 70467 = Use image as desktop background
--------------------3
Item, 56064 = Show image properties
;--------------------3
;Submenu, 22235, Document Popup Menu
;samotne polozky submenu
[saveto]
Item, Save to /pix = Copy image address & Execute program, "konsole","--noframe --notoolbar --nomenubar --vt_sz 90x10 -e wget %c --directory-prefix=/pix"
Item, Save to /junk = Copy image address & Execute program, "konsole","--noframe --notoolbar --nomenubar --vt_sz 90x10 -e wget %c --directory-prefix=/junk"
A jak tedy obrázky stáhnout? Funkce Copy image address zkopíruje adresu obrázku, kterou posléze pošleme wgetu (%c), který nám ho stáhne do zadané složky. Abychom viděli průběh stahování (tedy aby wget nebyl jen spuštěn na pozadí), používám jemný trik se spuštěním konzole.
Windows: Wget se dá pořídit i pro Windows a to zde. Volání se pak obejde bez nastavení konzole tedy asi nějak takto:
Item, Save to /junk = Copy image address & Execute program, "C:\Program Files\GnuWin32\bin\wget.exe","%c --directory-prefix=c:\junk"
Fantazii se meze nekladou, takže si můžete volání “poštělovat” pro Váš oblíbený stahovací program. Pokud všechno dopadlo dobře, menu by pak mohlo vypadat nějak takhle:

PS. Pokud touží po kousku INI souboru, který jsme dneska udělali, nechť se obslouží.
Popularity: 27% [?]