home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1997 #3 / amigamamagazinepolishissue03-1 / ma_1995 / 10 / ami026.txt < prev    next >
Text File  |  1997-04-07  |  14KB  |  483 lines

  1. ImageFX 
  2. -------
  3.  
  4. INNE "OBLICZE"
  5.  
  6. <lead>Byê moûe po n-tym uruchomieniu ImageFX-a i napatrzeniu sië
  7. na firmowy panel zauwaûyliôcie pewnâ prawidîowoôê. Jednych opcji
  8. uûywacie bardzo czësto, innych rzadko lub w ogóle. Dodatkowa
  9. pokusa usprawnienia sobie pracy przez wywoîywanie najczëôciej
  10. wykonywanych operacji przy uûyciu klawiszy, bez potrzeby
  11. "przedzierania sië" przez poszczególne panele, subpanele itp.,
  12. sprawia, ûe przychodzi Wam zapewne do gîowy myôl: "Coô by sië tu
  13. przydaîo zmieniê".
  14.  
  15. <a>Tadeusz Talar
  16.  
  17. <txt>Temat tego artykuîu nie jest bezpoôrednio zwiâzany z
  18. prezentacjâ graficznych moûliwoôci ImageFX-a. Chciaîbym bowiem
  19. przedstawiê moûliwoôci modyfikacji konfiguracji tego programu, a
  20. zwîaszcza tych elementów, które sâ zwiâzane z interfejsem
  21. uûytkownika. Programiôci z firmy Nova Design wîoûyli duûo serca w
  22. to, by nabywca ich produktu miaî duûy wpîyw na przebieg pracy z
  23. programem, dlatego teû ImageFX, od pojawienia sië na rynku,
  24. stanowiî bardzo "giëtkie" w uûyciu narzëdzie. Oprócz klasycznych
  25. preferencji programu i parametrów startowych (parametry w pliku
  26. ikony -- ang. tooltypes), majâcych bezpoôredni wpîyw na pracë,
  27. wbudowano mechanizmy, pozwalajâce na zdefiniowanie:
  28.  
  29. -- operacji uruchamianych automatycznie po starcie programu;
  30.  
  31. -- obîoûenia klawiatury;
  32.  
  33. -- zawartoôci panela sekcji TOOLBOX.
  34.  
  35. Przy umiejëtnym ich zastosowaniu moûemy w radykalny sposób
  36. odmieniê "oblicze" dobrze znanego, wydawaîoby sië, programu.
  37.  
  38. <sr>Na starcie
  39.  
  40. <txt>ImageFX, po uruchomieniu, standardowo zgîasza sië panelem
  41. opcji i... tyle. Jeûeli chcemy obrabiaê jakiô plik, to wiadomo,
  42. klikamy na gadûecie LOAD itd., ale jeôli chcemy tworzyê nowy
  43. obrazek, to juû gorzej. Trzeba zdefiniowaê bufor, tzn. najpierw
  44. kliknâê na BUFFER, potem na CREATE BUFFER i dopiero wtedy moûna
  45. przystâpiê do okreôlenia rozmiarów obrazka. "Z punktu widzenia
  46. myszy" to dwa klikniëcia. Z mojego, o jedno za duûo. Postanowiîem
  47. wiëc skorzystaê z moûliwoôci deklaracji tego, co program ma
  48. wykonaê bezpoôrednio po starcie, i sprawiê, by na poczâtku witaîo
  49. mnie pytanie: "co chcë robiê", czy obrabiaê plik z dysku, czy
  50. tworzyê nowy obrazek. Jak sië okazaîo, moûna to zrobiê na dwa,
  51. zbliûone do siebie, sposoby.
  52.  
  53. Pierwszy sposób, jak sië póúniej okazaîo o mniejszych
  54. moûliwoôciach, to utworzenie w katalogu, w którym znajduje sië
  55. program, specjalnego pliku o nazwie "Startup.script". ImageFX
  56. podczas uruchomienia sprawdza obecnoôê tego pliku i jeûeli on
  57. istnieje, wykonuje go linijka po linijce. Pomimo iû na pierwszy
  58. rzut oka zawartoôê "Startup.script" przypomina nieco wyglâd
  59. makrodefinicji w jëzyku ARexx, to tak naprawdë niâ NIE JEST.
  60. Dlatego teû w pliku tym mogâ byê wpisane TYLKO komendy
  61. udostëpniane przez program ImageFX oraz linie puste i linie
  62. komentarza, tzn. te, które rozpoczynajâ sië znakiem ";". Komendy,
  63. o których piszë, pomyôlane sâ gîównie z przeznaczeniem do
  64. wykorzystania ich w makrodefinicjach ARexxa, pisanych dla
  65. ImageFX-a. Ich skîadnië i opis moûna znaleúê w instrukcji obsîugi
  66. lub w Helpie ImageFX-a 2.0. W wypadku jakiegokolwiek bîëdu
  67. wykonywanie instrukcji, zawartych w "Startup.script", jest
  68. przerywane.
  69.  
  70. Przykîad mojego "Startup.script" przedstawia LISTING 1.
  71.  
  72.  
  73. <l>
  74. ; LISTING 1
  75.  
  76. ; Przykîadowy skrypt startowy ImageFX - Startup.script
  77.  
  78. ;
  79.  
  80. ; Po starcie utwórz bufor PAL:LoRes
  81.  
  82. ;
  83.  
  84.   CreateBuffer 320 256 FORCE
  85.  
  86. ;
  87.  
  88. ; nastëpnie "wyczyôê" go do biaîego koloru
  89.  
  90. ; (w standardowej palecie kolorów ImageFX jest to kolor z rejestru 1)
  91.  
  92. ; UWAGA! Linia ta dodana ze wzglëdu na moûliwoôê zastosowania tego skryptu
  93.  
  94. ; w kaûdej wersji programu ImageFX (w wersji 2.0 moûna kolor bufora 
  95.  
  96. ; deklarowaê bezpoôrednio w komendzie CreateBuffer)
  97.  
  98.  
  99.   ClearBuffer FORCE 255 255 255
  100.  
  101. ;
  102.  
  103. ; Koniec
  104.  
  105. <txt>No dobrze, powiecie, ale miaî byê wybór: "plik z dysku albo
  106. nowy obrazek", a tu tylko tworzenie nowego bufora. Fakt ten ma
  107. miejsce dlatego, ûe, jak juû napisaîem, w "Startup.script" mogâ
  108. byê tylko komendy ImageFX-a, bez domieszki klasycznych rozkazów
  109. ARexxa. Brak moûliwoôci zastosowania jakiejkolwiek formy
  110. instrukcji warunkowej wyklucza wiëc realizacjë tego "albo".
  111.  
  112. Wyjôciem z tej kîopotliwej sytuacji jest zastosowanie drugiej
  113. metody okreôlania operacji uruchamianych po starcie ImageFX-a,
  114. tzn. skorzystanie z moûliwoôci utworzenia pliku "Startup.ifx",
  115. zawierajâcego makrodefinicjë w jëzyku ARexx. W tym wypadku moûemy
  116. sobie pozwoliê na wszystkie szaleïstwa, udostëpniane przez ten
  117. jëzyk w poîâczeniu z komendami ImageFX-a. Plik ten powinien byê
  118. umieszczony w domyôlnej ôcieûce dostëpu do makrodefinicji
  119. ARexxowych, zdefiniowanych w preferencji ImageFX-a.
  120.  
  121. Odpowiedniâ makrodefinicjë przedstawia LISTING 2., natomiast
  122. efekt dziaîania rys. 1.
  123.  
  124.  
  125. <l>
  126.  
  127.  * LISTING 2
  128.  
  129.  *
  130.  
  131.  * $VER: Startup.ifx v0.09 (10.08.95)
  132.  
  133.  *
  134.  
  135.  * Makroinstrukcja w jëzyku ARexx dla programu ImageFX.
  136.  
  137.  * Autor: Tadeusz Talar
  138.  
  139.  *
  140.  
  141.  * Instrukcje znajdujâce sië w pliku o tej nazwie sâ automatycznie 
  142.  
  143.  * wykonywane podczas uruchomienia programu ImageFX.
  144.  
  145.  * Bezpoôrednio po starcie mamy moûliwoôê wyboru, czy chcemy
  146.  
  147.  * edytowaê plik z dysku, czy tworzyê nowy obrazek.  
  148.  
  149.  */
  150.  
  151. OPTIONS RESULTS
  152.  
  153. /* Definicja struktury panela sîuûâcego do wyboru odpowiedniej opcji */
  154.  
  155. StartUp.0 = 3
  156.  
  157. StartUp.1 = "JAKI OBRAZEK ?"
  158.  
  159. StartUp.2 = "Z pliku"
  160.  
  161. Startup.3 = "Nowy"
  162.  
  163. ListRequest StartUp.0 StartUp
  164.  
  165. rezultat = result
  166.  
  167. SELECT
  168.  
  169.    WHEN rezultat = 2 THEN
  170.  
  171.     /* Wybór pliku przy uûyciu requestera */ 
  172.  
  173.    LoadBuffer
  174.  
  175.    WHEN rezultat = 3 THEN
  176.  
  177.     DO
  178.  
  179.     /* Wybór parametrów tworzonego bufora przy uûyciu panela
  180.  
  181.         oraz "wyczyszczenie" go "do biaîego" */ 
  182.  
  183.      CreateBuffer FORCE
  184.  
  185.        ClearBuffer FORCE 255 255 255
  186.  
  187.     END
  188.  
  189.     OTHERWISE NOP
  190.  
  191.    END
  192.  
  193. Redraw
  194.  
  195. EXIT
  196.  
  197. /************************************************************************/
  198.  
  199. <txt> Na koniec tej czëôci artykuîu dwie uwagi. Po pierwsze
  200. jeûeli jednoczeônie istniejâ obydwa opisywane pliki, tzn.
  201. "Startup.script" i "Startup.ifx", to najpierw realizowane sâ
  202. komendy umieszczone w "Startup.script", a nastëpnie te w
  203. "Startup.ifx".
  204.  
  205. <sr>Pod palcami
  206.  
  207. <txt>Nie jest zbyt odkrywcze stwierdzenie, ûe posîugiwanie sië
  208. klawiszami (lub kombinacjami klawiszy) pozwala na znaczne
  209. przyspieszenie pracy z kaûdym programem komputerowym. Po
  210. pierwszych zachîyôniëciach sië moûliwoôciami zastosowania myszy
  211. jako urzâdzenia wejôciowego w interfejsach uûytkownika róûnej
  212. maôci wiëkszoôê profesjonalistów (sîowo to w slangu ludzi spod
  213. znaku niebieskich i nadgryzionych maszyn liczâcych oznacza po
  214. prostu ich samych, co nie ma nic wspólnego z moim rozumieniem
  215. tego pojëcia, tzn. ludzi traktujâcych na serio pracë z
  216. komputerem) przychylniej patrzy na programy, w których operacje (nie
  217. wszystkie, ale te, które moûna) wywoîuje sië poprzez wciôniëcie
  218. odpowiedniej kombinacji klawiszy (ang. shortcuts). ImageFX
  219. standardowo pozwala na dostëp do wiëkszoôci opcji przy uûyciu
  220. klawiszy (charakterystyczna podkreôlona litera w wiëkszoôci nazw
  221. gadûetów i opcji oznacza dostëp poprzez wciôniëcie klawiszy
  222. [Prawa Amiga]+litera). Wystarczy zerknâê do znajdujâcego sië w
  223. katalogu programu pliku "Standard.keys", by przekonaê sië o tym,
  224. jak standardowo obîoûone sâ poszczególne klawisze. Istnienie tego
  225. pliku nie jest bezpodstawne, moûna bowiem, bazujâc na jego
  226. strukturze, utworzyê inny plik -- "Default.keys", zawierajâcy nasze
  227. wîasne definicje obîoûeï klawiszy. Plik ten bëdzie nastëpnie
  228. automatycznie wczytywany podczas uruchamiania programu.
  229.  
  230. Przykîad i opis struktury pliku "Default.keys" pokazuje LISTING
  231. 3. Plik ten jest tylko przykîadem, wiëc za duûo sië w nim "nie
  232. dzieje". Po prostu ma tam miejsce obîoûenie klawisza funkcyjnego
  233. [F10], tak ûe po jego wciôniëciu moûemy zmierzyê odlegîoôê na
  234. obrazku poprzez uruchomienie komendâ ImageFX-a HOOK moduîu typu
  235. hook, o nazwie Measure. Jak widaê, jest to obîoûenie globalne.
  236.  
  237. <l>
  238.  
  239. ; LISTING 3
  240.  
  241. ; Key definitions for ImageFX
  242.  
  243. ;
  244.  
  245. ; Przykîad pliku "Default.keys" - definicji obîoûeï klawiszy
  246.  
  247. ; w programie ImageFX.
  248.  
  249. ;
  250.  
  251. ; Nazwa moûe byê inna, w tym wypadku naleûy wczytaê go przy uûyciu
  252.  
  253. ; gadûetu LOAD KEYS... w panelu PREFERENCES programu ImageFX.
  254.  
  255. ;
  256.  
  257. ; Opis skîadni:
  258.  
  259.  
  260. ;    ;    linia komentarza 
  261.  
  262. ;
  263.  
  264. ;    TYTUÎ:    nazwa sekcji, do której odnosi sië
  265.  
  266. ;        przypisanie, tzn. MAIN (GLOBALNIE)
  267.  
  268. ;        oraz TBOX do sekcji (TOOLBOX) 
  269.  
  270. ;
  271.  
  272. ; KOMBINACJA_KLAWISZY    "KOMENDA(;KOMENDA;...)"
  273.  
  274. ;
  275.  
  276. ;--------------------------------------------------------------------------
  277.  
  278. MAIN:
  279.  
  280. F10    "HOOK ImageFX:Hooks/Measure"
  281.  
  282. TBOX:
  283.  
  284. ;-------------------------------------------------------------------------
  285.  
  286. <txt>Oczywiôcie moûemy sobie zdefiniowaê kilka obîoûeï klawiszy
  287. (na róûne okazje) w postaci kilku plików o strukturze
  288. "Default.keys", ale o innych nazwach. By z nich skorzystaê,
  289. wystarczy w panelu PREFERENCES ImageFX-a kliknâê na LOAD KEYS...
  290. (patrz rys. 2.) i wskazaê odpowiedni na danâ okazjë plik,
  291. zawierajâcy aktualnie wymaganâ deklaracjë obîoûenia klawiszy.
  292.  
  293. Najciekawsza moûliwoôê przypisania klawiszowi odpowiednich
  294. funkcji istnieje w samym programie. W trakcie pracy moûe nam
  295. przyjôê bowiem ochota na przypisanie klawiszowi funkcji.
  296. Wystarczy wtedy wcisnâê kombinacjë klawiszy [Shift]+[Help],
  297. nastëpnie definiowany klawisz lub kombinacjë klawiszy, w
  298. pojawiajâcym sië panelu wpisaê komendë ImageFX-a (lub komendy
  299. rozdzielone znakiem ";"), z kolei nowy klawisz i nowa definicja
  300. itd., a na koïcu znowu [Shift]+[Help]. Po dokonaniu niezbëdnych
  301. zmian moûna tak zmodyfikowane obîoûenia klawiszy zapisaê do pliku
  302. przy uûyciu SAVE KEYS... w panelu PREFERENCES (rys. 2.).
  303. Przykîadowâ sesjë definicji obîoûenia klawisza [F10], tak by
  304. realizowaî on funkcjë z LISTINGU 3., pokazuje rys. 3.
  305.  
  306. <sr>Toolbox -- kameleon
  307.  
  308. <txt>Najwiëksze moûliwoôci ingerencji w wyglâd i zachowanie
  309. programu daje zmiana zawartoôci panela TOOLBOX. Potencjalne
  310. zmiany mogâ siëgaê tak daleko, ûe po ich dokonaniu nowy TOOLBOX
  311. bëdzie nie lada zaskoczeniem dla osoby, która do tej pory
  312. pracowaîa z ImageFX-em o standardowym wyglâdzie tego panela.
  313. Zastosowaï zaô jest doprawdy bez liku, od "nagiëcia" programu w
  314. kierunku jakichô specjalizowanych zastosowaï (np. efekty,
  315. operacje na kolorach, transformacje itp.), koïczâc na moûliwoôci
  316. spolszczenia nazw opcji tego panela. W tym celu najlepiej
  317. najpierw zajrzeê do pliku "Standard.toolbox", w którym znajduje
  318. sië standardowa definicja TOOLBOX, i na jego podstawie utworzyê w
  319. katalogu programu ImageFX plik "Default.toolbox", który, jak sië
  320. zapewne domyôlacie, wczytywany przez ImageFX przy starcie
  321. programu bëdzie okreôlaî zawartoôê panela TOOLBOX.
  322.  
  323. Przykîad i strukturë tego pliku objaônia LISTING 4., w którym
  324. pokusiîem sië o spolszczenie opcji SIZE i doîoûenie kilku nowych
  325. opcji skalowania.
  326.  
  327. <l>^-
  328. ; LISTING 4
  329.  
  330.  
  331. ; Przykîad pliku "Default.toolbox" okreôlajâcego zawartoôê 
  332.  
  333. ; panela Toolbox w programie ImageFX. 
  334.  
  335. ; Nazwa moûe byê inna, w tym wypadku naleûy w ikonie uruchamiajâcej
  336.  
  337. ; program ustawiê parametr (tooltype) TOOLCONFIG tak, by zawieraî të
  338.  
  339. ; nazwë, tzn. 
  340.  
  341. ;    "TOOLCONFIG=Ôcieûka_dostëpu/NazwaPliku"
  342.  
  343. ;
  344. ; Opis skîadni:
  345.  
  346.  
  347. ;    ;     linia komentarza 
  348.  
  349. ;
  350.  
  351. ;    #:    gadûet bez zmiany
  352.  
  353. ;
  354.  
  355. ; TYTUÎ_GADÛETU:
  356.  
  357. ;    "TYTUÎ_KOMENDY"    KOMENDA(;KOMENDA;...)
  358.  
  359. ;
  360.  
  361. ; lub
  362.  
  363. ;
  364.  
  365. ; TYTUÎ_GADÛETU:
  366.  
  367. ;    "TYTUÎ_PANELA"
  368.  
  369. ;    "TYTUÎ_1_POZYCJI"    KOMENDA(;KOMENDA;...)
  370.  
  371. ;    "TYTUÎ_2_POZYCJI"    KOMENDA(;KOMENDA;...)
  372.  
  373. ;    _S    litera wyróûniona w tytule
  374.  
  375. ;    ""    odstëp pomiëdzy pozycjami 
  376.  
  377. ;
  378.  
  379. ; P R Z Y K Î A D
  380.  
  381. ; Pierwszy Rzâd Gadûetów
  382.  
  383. #:
  384.  
  385. #:
  386.  
  387. #:
  388.  
  389. Ro_zmiar:
  390.  
  391.     "Rozmiar - Operacje"
  392.  
  393.     "_Skaluj..."    "Scale"
  394.  
  395.     "25 %"    "Scale 25 25 PERCENT"
  396.  
  397.     "50 %"    "Scale 50 50 PERCENT"
  398.  
  399.     "75 %"    "Scale 75 75 PERCENT"
  400.  
  401.     "150 %"    "Scale 150 150 PERCENT"
  402.  
  403.     "200 %"    "Scale 200 200 PERCENT"
  404.  
  405.     ""
  406.  
  407.     "_Obetnij..."    "Crop"
  408.  
  409.     "Obetnij Au_tomatycznie"    "Crop Auto"
  410.  
  411.     ""
  412.  
  413.     "Ustaw _Aspekt..."    "SetAspect"
  414.  
  415. ; Drugi Rzâd Gadûetów
  416.  
  417. #:
  418.  
  419. #:
  420.  
  421. #:
  422.  
  423. #:
  424.  
  425. #:
  426.  
  427. ; Trzeci Rzâd Gadûetów
  428.  
  429. #:
  430.  
  431. #:
  432.  
  433. #:
  434.  
  435. #:
  436.  
  437. #:
  438.  
  439. ;-------------------------------------------------------------------------
  440.  
  441. ^+
  442. <txt>Jedna uwaga: liczba opisanych w pliku nowych TYTUÎÓW
  443. GADÛETÓW (lub odpowiadajâcych znaków "#:", co oznacza, ûe nie
  444. zmieniamy standardowego przypisania opcji do tego gadûetu) musi
  445. wynosiê dokîadnie 14. Gadûety sâ rozmieszczone tak, jak to
  446. pokazuje rys. 4 A, tzn. w kolejnoôci od lewego górnego rogu
  447. TOOLBOX do prawego dolnego. KOMENDY to opisywane juû w tym
  448. artykule komendy ImageFX-a. Jeûeli w komendzie wystëpuje
  449. koniecznoôê uûycia " (cudzysîowu), wtedy caîoôê definicji danej
  450. opcji (tzn. wszystkie komendy separowane znakiem ";") ujmujemy w
  451. znaki ' (apostrof). Efekt moich zmian przedstawia rys. 4 B.
  452.  
  453. Zamiast pliku "Default.toolbox", który za kaûdym razem bëdzie
  454. wprowadzaî zmiany w panelu TOOLBOX, lepszym rozwiâzaniem jest
  455. utworzenie potrzebnych nam wariantów panelu TOOLBOX, zapisanych w
  456. plikach o róûnych nazwach (np. My.toolbox, Efekty.toolbox itp.),
  457. i nastëpnie skorzystanie z moûliwoôci okreôlania w pliku ikony,
  458. za pomocâ której uruchamiamy program (odpowiedni parametr, ang.
  459. tooltype), jaki plik ma byê uûyty po starcie programu. Po
  460. dokonaniu tego bëdziemy mieli róûnâ postaê panela TOOLBOX, w
  461. zaleûnoôci od ikony uruchamiajâcej program.
  462.  
  463. W tym celu najlepiej skopiowaê plik "ImageFX_WB.info", zmieniê
  464. jego nazwë na np. "My_ImageFX.info", nastëpnie z poziomu
  465. Workbencha wskazaê të ikonë, wyôwietliê informacje o niej (rys.
  466. 5.) i zmodyfikowaê parametr:
  467.  
  468. <l>TOOLCONFIG=ImageFX:My.toolbox 
  469.  
  470. <txt>Od tej pory kaûdorazowe uruchomienie programu ImageFX przy
  471. uûyciu ikony "My_ImageFX" (a nie ikony standardowej "ImageFX")
  472. sprawi, ûe zawartoôê panela TOOLBOX bëdzie taka, jakâ
  473. zadeklarowaliômy w pliku "My.toolbox". Plik "Default.toolbox"
  474. bëdzie przy starcie pominiëty.
  475.  
  476. Myôlë, ûe wyposaûeni w opisane w tym artykule "narzëdzia" z
  477. îatwoôciâ dokonacie nawet bardzo drastycznych "operacji
  478. plastycznych" na programie ImageFX, kreujâc jego nowe, bardziej
  479. funkcjonalne, oblicze.
  480.