Software: Apache/2.2.3 (CentOS). PHP/5.1.6 uname -a: Linux mx-ll-110-164-51-230.static.3bb.co.th 2.6.18-194.el5PAE #1 SMP Fri Apr 2 15:37:44 uid=48(apache) gid=48(apache) groups=48(apache) Safe-mode: OFF (not secure) /usr/share/gimp/2.0/help/cs/ drwxr-xr-x |
Viewing file: ch07s02s04.html (19.84 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) | Nepotřebujete se na chvíli zastavit a popadnout dech? Ne? Pak tedy vzhůru na čtvrtou lekci – váš první Script-Fu skript! Jedna z nejčastějších operací, kterou v Gimpu provádím, je vytvoření textu pro webovou stránku, logo nebo něco takového. V takovém případě ale nikdy nevím, jak velký obrázek mám vytvořit, protože nevím přesně, kolik místa text v požadovaném řezu písma a velikosti zabere. Mistr Script-Fu (ale i nadaný student) si brzy uvědomí, že lze takový problém snadno a automaticky řešit pomocí Script-Fu. Proto vytvoříme skript, který pojmenujeme Text Box a který vytvoří obrázek o velikosti přesně odpovídající zadanému textu. Uživatel bude mít možnost zvolit i řez písma, jeho velikost a barvu. Do této chvíle jsme pracovali se Script-Fu konzolí. Od této chvíle však budeme pracovat s textovými soubory. Kam skripty uložíte záleží jen na vás. Pokud máte přístup do výchozího adresáře Gimpu pro skripty, můžete uložit své skripty tam. Já nicméně raději ukládám své vlastní skripty do vlastního adresáře, abych je měl oddělené od skriptů dodávaných přímo s Gimpem.
V adresáři Každý Script-Fu skript definuje alespoň jednu funkci, hlavní funkci skriptu. Ta je zodpovědná za činnost skriptu. Každý skript musí být navíc zaregistrován v databázi procedur, aby k němu mohlo být přistupováno z Gimpu. Nejprve definujeme hlavní funkci: (define (script-fu-text-box inText inFont inFontSize inTextColor))
Takto jsme definovali funkci jménem
Konvence jazyka Scheme pro vytváření jmen upřednostňují malá písmena a
pomlčky, tak jako jsme učinili při výběru jména funkce. Při
pojmenovávání jejích parametrů jsme se však od konvence odchýlili.
Mám rád jména popisná, která o funkci nebo parametru hodně říkají,
proto jsme pro parametry použili předponu V Gimpu je zvykem pojmenovávat všechny Script-Fu funkce podle vzoru script-fu-jmeno-funkce, protože v databázi procedur jsou pak všechny pěkně pohromadě a jsou snadno odlišitelné od zásuvných modulů.
Nyní je třeba funkci v Gimpu zaregistrovat. To se dělá voláním funkce
Zde je výpis naší registrační funkce (její parametry vzápětí vysvětlím): (script-fu-register "script-fu-text-box" ;func name "Text Box" ;menu label "Creates a simple text box, sized to fit\ around the user's choice of text,\ font, font size, and color." ;description "Michael Terry" ;author "copyright 1997, Michael Terry" ;copyright notice "October 27, 1997" ;date created "" ;image type that the script works on SF-STRING "Text:" "Text Box" ;a string variable SF-FONT "Font:" "Charter" ;a font variable SF-ADJUSTMENT "Font size" '(50 1 1000 1 10 0 1) ;a spin-button SF-COLOR "Color:" '(0 0 0) ;color variable ) (script-fu-menu-register "script-fu-text-box" "<Toolbox>/Xtns/Script-Fu/Text")
Pokud tyto funkce zapíšete do souboru s příponou
Pokud ale skript spustíte, neudělá samozřejmě nic užitečného, ale uvidíte výzvy vytvořené při registraci skriptu (podrobnosti dále). Pokud otevřete Prohlížeč procedur, volbou → ), zjistíte, že náš nový skript je skutečně uveden v databázi.
Aby byl náš skript v Gimpu zaregistrován, voláme funkci
Povinné parametry
Po uvedení obecných, povinných parametrů je třeba uvést parametry, které vyžaduje náš skript. V seznamu těchto parametrů je také třeba uvést jejich typ, což umožní správně zobrazit dialog, ve kterém uživatel parametry nastavuje. Také zadáme výchozí hodnoty těchto parametrů. Tato část registračního procesu používá následující formát:
|
:: Command execute :: | |
:: Shadow's tricks :D :: | |
Useful Commands
|
:: Preddy's tricks :D :: | |
Php Safe-Mode Bypass (Read Files)
|
--[ c999shell v. 1.0 pre-release build #16 Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: 0.0162 ]-- |