rulu ruru

post Kontextová menu v Opeře - manipulace s obrázky (druhý díl)

May 26th, 2008

Filed under: other, web — starenka @ 10:08
Tags: ,

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:

opera menu obrazek

PS. Pokud touží po kousku INI souboru, který jsme dneska udělali, nechť se obslouží.

4 Comments

  1. Hele strašně moc díky za tenhle seriál.
    Vím, že se v Opeře nabídky dají upravovat, ale pořád jsem se toho bál, mám maximálně dopsanou volbu pro FlashGet (od DXP). Takže ještě jednou moc díky, těšim se na další díl.

    Comment by woko — May 26, 2008 @ 10:23

  2. Kurnik ja ji snad zkusim, tyhle hacky jsou naprosto supr. Ve ff by se s tim musel clovek mrdat v pluginech urcite…

    Comment by zlosyn — May 27, 2008 @ 02:45

  3. Heh, diky za feedback panove, doufam ze vas neodradi moje forma. Abych se priznal, nevim jak moc podrobne to ma clovek psat a navic me to hodne podrobne nebavi, tak predpokladam alespon zakladni skills. Priste zkouknem co s aktualni strankou a s odkazama - ukladani do ruznejch bukmark blbinek, otevirani v jinejch prohlizecich a taaak :)

    Comment by starenka — May 27, 2008 @ 08:07

  4. […] 1.díl 2.díl […]

    Pingback by » Kontextová menu v Opeře - submenu s BBCode, HTML, SQL-injection a XSS vektory (třetí díl)« jiffy lines - ’cause it takes hours to write, but minutes to read — June 1, 2008 @ 00:43

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

ruldrurd
© starenka 2oo7, cute alien monster by noizcut, original theme by Laurentiu Piron - customized by starenka | proudly powered by WordPress