home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1997 #3 / amigamamagazinepolishissue03-1 / ma_1995 / 03 / ami021a.txt < prev    next >
Text File  |  1997-04-06  |  3KB  |  197 lines

  1. <l>
  2. /*
  3.  
  4.  * LISTING 1
  5.  
  6.  *
  7.  
  8.  * $VER: PIP Maker Demo 0.5 
  9.  
  10.  * 
  11.  
  12.  * Makrodefinicja w jëzyku Arexx dla programu ImageFX 1.5
  13.  
  14.  * Autor: Tadeusz Talar 
  15.  
  16.  *
  17.  
  18.  * Tworzy obrazki zawierajâce PIP'y na podstawie obrazków zawartych w katalogu 
  19.  
  20. * Work:Obrazki, podpis pod PIP'em tworzony jest na podstawie nazwy pliku 
  21.  
  22.  * obrazka.
  23.  
  24.  *
  25.  
  26.  */
  27.  
  28. OPTIONS RESULTS
  29.  
  30. sourcedir = "Work:Obrazki"
  31.  
  32. PIP_Tlo   = "Work:Rend/Mini_tv1"    /* Obrazek z tîem dla PIP'u */
  33.  
  34. /* Utworzenie listy obrazków do obróbki */
  35.  
  36. ECHO 'List >RAM:__Snap_LIST__ NOHEAD LFORMAT='sourcedir'/%s' sourcedir
  37.  
  38. ADDRESS COMMAND 'List >RAM:__Snap_LIST__ NOHEAD LFORMAT='sourcedir'/%s' 
  39. sourcedir
  40.  
  41. IF rc ~= 0 THEN DO
  42.  
  43.     RequestNotify 'Problem w analizie katalogu zrodlowego.'
  44.  
  45.     EXIT
  46.  
  47.     END
  48.  
  49. IF ~OPEN(lista_obrazkow, 'RAM:__Snap_LIST__', 'Read') THEN DO
  50.  
  51.     RequestNotify 'Problem w odczytaniu plików - nie znaleziono ûadnego?'
  52.  
  53.     EXIT
  54.  
  55.     END
  56.  
  57. /* Ustawienie parametrów poczâtkowych */
  58.  
  59. ActiveColor 1
  60.  
  61. DrawMode Color
  62.  
  63. Pen 0 1
  64.  
  65. Blend 100
  66.  
  67. AlphaChannel Off
  68.  
  69. EdgeMode AntiAlias 0
  70.  
  71. FillMode Solid 0 0 0 SMOOTH
  72.  
  73. AirbrushSettings 5 50 0 Spray
  74.  
  75. Undo OFF
  76.  
  77. /* Pëtla tworzâca PIP'y na podstawie utworzonej listy obrazków */
  78.  
  79. DO WHILE ~EOF(lista_obrazkow)
  80.  
  81.     nastepny_obrazek = READLN(lista_obrazkow)
  82.  
  83.     IF nastepny_obrazek = "" THEN ITERATE
  84.  
  85.     Message nastepny_obrazek
  86.  
  87.         CALL Generuj 
  88.  
  89. END
  90.  
  91. /* Usuniëcie listy plików poprzez wykorzystanie systemowej komendy Delete */
  92. ADDRESS COMMAND 'Delete RAM:__Snap_LIST__ QUIET'
  93.  
  94. Undo ON
  95.  
  96. EXIT
  97.  
  98. /* Procedura generacji PIP'u */
  99.  
  100. Generuj:
  101.  
  102.         LoadBuffer PIP_tlo Force  
  103.  
  104.         LoadBrush  nastepny_obrazek 1
  105.  
  106.     if rc ~= 0 THEN RETURN
  107.  
  108.         Region Brush
  109.  
  110.         Scale 120 96    /* skalowanie obrazka */
  111.  
  112.         DrawMode Darken    /* wstawienie cienia o wymiarach zeskalowanego obrazka 
  113. */
  114.  
  115.         NewArea
  116.  
  117.         AddArea 82 66
  118.  
  119.         FreeDraw
  120.  
  121.         DrawMode Normal   /* wstawienie obrazka */
  122.  
  123.         NewArea
  124.  
  125.         AddArea 76 59
  126.  
  127.         FreeDraw
  128.  
  129.         Region Full
  130.  
  131.         KillBrush    /* usuniëcie brusha-obrazka */
  132.  
  133.     /* Utworzenie podpisu PIP'u na podstawie nazwy pliku obrazka poddawanego
  134.      * obróbce, znaki "_" uûywane w nazwach plików dla zaznaczenia spacji 
  135.      * pomiëdzy wyrazami sâ zamieniane w tworzonym podpisie z powrotem na spacje.
  136.      */
  137.  
  138.         n = LASTPOS('/', nastepny_obrazek) + 1
  139.  
  140.     PIP_nazwa = SUBSTR(nastepny_obrazek,n)
  141.  
  142.     PIP_tekst = TRANSLATE(PIP_nazwa,' ','_')
  143.  
  144.     Region Brush
  145.  
  146.         Text 'CGTimesRomanBoldItalic.font' 80 100 PIP_Tekst
  147.  
  148.         AntiAlias 255
  149.  
  150.         Scale 115 38      /* zeskalowanie napisu */ 
  151.  
  152.         DrawMode Darken   /* tworzenie cienia napisu */
  153.  
  154.         NewArea
  155.  
  156.         AddArea 72 143
  157.  
  158.         FreeDraw
  159.  
  160.         DrawMode Normal   /* wstawienie wîaôciwego napisu */
  161.  
  162.         NewArea
  163.  
  164.         AddArea 68 139
  165.  
  166.         FreeDraw
  167.  
  168.         Region Full
  169.  
  170.         KillBrush         /* usuniëcie napisu */
  171.  
  172.         
  173.  
  174.     /* Generowanie wyjôciowego obrazka z PIP'em i zapis do pliku z rozszerzeniem 
  175.  
  176.      * ".PIP"
  177.  
  178.      */
  179.  
  180.         Menu Render
  181.  
  182.         Render Dither 1 0 0
  183.  
  184.         Render Colors 64
  185.  
  186.         Render ModeID 137216   /* Tryb LoRes HAM8 */
  187.  
  188.         Render Go
  189.  
  190.         SaveRenderedAs ILBM "Work:PIPy/"||PIP_nazwa||".PIP"
  191.  
  192.         Render Close
  193.  
  194.         Menu Toolbox
  195.  
  196. RETURN
  197.