Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
-
5. září 2024
Matrixmedia - Obsluha a tisk na velkoformátových digitálních tiskárnách
-
30. září 2024
-
4. října 2024
Webdesign
Flash & Bezpečnost 2.
2. srpna 2002, 00.00 | Článek navazuje na předchozí díl, který se věnoval zabezpečení obsahu
Flash aplikací.
Od Corelu verze 6 je součástí instalačního balíku také vlastní skriptovací jazyk zvaný CorelSCRIPT, ve kterém si lze naprogramovat jednoduché, ale i značně složité operace, které mohou při běžné práci ušetřit mnoho času. Od verze 9 je do celého balíku také přidán skriptovací jazyk Visual Basic for Application (VBA), tak jak jej znáte z programů od Microsoftu, nejčastěji Excel nebo Word. V tomto seriálu se budeme zabývat jazykem CorelSCRIPT, především ve verzi 9.
V zásadě existují dva způsoby, jak si vytvořit svůj skript.
Prvním je takzvaný záznam toho, co uživatel dělá. Na první pohled je jasné, že touto metodou lze vytvořit jen značně primitivní a nepříliš účinné skripty. Také celé ovládání záznamu je jednoduché a nedovoluje uživateli prakticky žádnou volbu. Schází možnost, zda se nové objekty kreslí relativně k objektu vybranému, nebo absolutně (od středu stránky). Nemožnost vypnout některý ze zaznamenaných příkazů, intuitivní přehled příkazů, tak jak jej prezentuje např. Adobe Photoshop nebo Corel PhotoPaint.
Druhým způsobem je napsat si svůj vlastní, a to přímo ve Script Editoru. Není sice součástí standardní instalace, ale pokud jste instalovali s volbou vlastní instalace, nejspíš jej máte nainstalován. Dá se spustit buď z nabídky Start, nebo přímo v CorelDRAW.
Dnešním cílem je nakreslit skriptem obdélník kolem aktuálně vybraného objektu. Toho lze využít například k vytvoření obrysu okolo objektu, který tuto možnost standardně nemá (bitmapa, OLE objekt, skupina objektů). Možností použití je více, záleží na potřebách a zvyklostech každého, kdo s Corelem dělá. Následující ukázka nám nakreslí obdélník 100 × 50 mm, přímo uprostřed stránky. Zeleně označený text začínající jednoduchou uvozovkou ( ' ) jsou komentáře k jednotlivým příkazům, nejsou nutné pro běh skriptu.
|
Vytvořený skript si uložte. Nejlépe do adresáře C:\Program Files\Corel\Graphics9\Draw\Scripts, za předpokladu, že jste instalovali Corel do tohoto umístění. Otevřete v CorelDRAW nový dokument, aby skript měl kam kreslit a spusťte jej. Buď pomocí Správce skriptů a předvoleb, poklepáním na jeho ikonu, nebo příkazem Spustit skript. Obojí v nabídce Nástroje -> Corel SCRIPT, viz obrázek výše. Abychom mohli skriptem nakreslit obdélník velikosti aktuálně vybraného objektu, musíme si nejprve zjistit všechny 4 potřebné hodnoty. K tomu využijeme funkci GetPosition, která vrátí X a Y referenčního bodu u vybraného objektu a funkci SetReferencePoint, pomocí které si nastavíme referenční bod doleva nahoru a doprava dolů.
|
Vytvořený skript si opět uložte a spusťte jej. Pozor, aby skript mohl fungovat, musíte mít v Corelu otevřený dokument a vybraný nějaký objekt, nejlépe elipsu, mnohoúhelník apod. (obdélník nakreslený přes obdélník není na první pohled vidět). Případně lze ikonu našeho skriptu ve Správci skriptů a předvoleb přetáhnout na nějaký objekt v dokumentu.
Tento skript funguje se všemi typy objektů. Pokud je vybráno více objektů, pracuje pouze s referenčním objektem, tj. naposledy přidaným do výběru. Bohužel pracuje i s vodícími linkami, což je velmi nebezpečné, protože vodící linka vede "odnikud nikam". V praxi skript vytvoří 45 metrů vysoký a 0 široký obdélník, který je pochopitelně k ničemu.
Ošetřujeme možné chyby
Náš skript, stejně jako každý program, je náchylný k chybám. Pokud nemá to co potřebuje, jednoduše nefunguje. Je vhodné tyto stavy ošetřit. Když není v Corelu otevřen žádný dokument, nebo když není vybrán žádný objekt nemáme kolem čeho kreslit obdélník. Mohli bychom to ošetřit pomocí funkcí IsDocument() a IsSelection(), ale je to celkem zbytečné, protože Corel v takovém případě zobrazí chybové hlášení i s důvodem chyby a skript ukončí. My bychom udělali vlastně totéž. Je tu ale jedna záludnost, kterou za nás Corel nevyřeší. Vodící linky. K tomu použijeme funkci .GetObjectType(), která na to ale není přímo určena. Vrací číslo typu objektu (1 = obdélník, 2 = elipsa, 3 = křivka atd.), bohužel vodící linka mezi hodnotami není. Ale pokud je vybrána, tato funkce vrací nulu, což je podle dokumentace hodnota rezervovaná pro budoucí využití. Nicméně podle mých zkušeností ji vrací jen a pouze vodící linka, čehož také využijeme.
Výsledný skript s ošetřenou chybou vypadá následovně:
|
Jiné verze Corelu
Pokud chcete použít tento skript i v jiných verzích Corelu, stačí jen změnit definici objektu, se kterým pracujeme. Takže pro verzi 8 je to objekt CorelDRAW.Automation.8, pro verzi 10 CorelDRAW.Automation.10.
Ukázka použití
Zde si můžete stáhnout hotový skript pro CorelDRAW8, CorelDRAW9, nebo CorelDRAW10. Použijte pravé tlačítko myši a volbu uložit cíl jako.
Dovětek
V komentářích k článku Corel v praxi - Problém s rohy obdélníka jsem uvedl ukázku podobného skriptu, která ovšem nepracuje příliš korektně. Ke zjištění šířky objektu je použita funkce GetSize, která vrací šířku objektu včetně obrysu, což není zrovna ideální. Navíc funkce GetPosition bez definice referenčního bodu může zlobit.
Jak vidíte, vytvořit si jednoduchý a účinný skript není nic složitého. V příštím díle tohoto seriálu si povíme několik základních věcí kolem jazyka Corel Script, které je vhodné znát.
Obsah seriálu (více o seriálu):
-
14. května 2014
Jak vkládat snímky do galerií a soutěží? Stručný obrazový průvodce
-
23. dubna 2014
Konica Minolta přenesla výhody velkých zařízení do kompaktních modelů
-
12. června 2012
-
9. dubna 2014
-
29. listopadu 2013
-
6. září 2004
OKI snižuje ceny barevných laserových tiskáren C3100 a C5200n
-
13. května 2004
-
19. ledna 2004
QuarkXPress Passport 6: předvedení nové verze na konferenci Apple Forum 27.1.2004
-
6. února 2001
-
30. listopadu 2014
Nový fotoaparát α7 II: první plnoformát s pětiosou optickou stabilizací obrazu na světě
-
5. srpna 2024
Bubnový scanner na 4000dpi optické rozlišení + PC + software
-
8. září 2024
-
14. října 2024
-
5. listopadu 2024