/* * LISTING 1 * * $VER: PIP Maker Demo 0.5 * * Makrodefinicja w jëzyku Arexx dla programu ImageFX 1.5 * Autor: Tadeusz Talar * * Tworzy obrazki zawierajâce PIP'y na podstawie obrazków zawartych w katalogu * Work:Obrazki, podpis pod PIP'em tworzony jest na podstawie nazwy pliku * obrazka. * */ OPTIONS RESULTS sourcedir = "Work:Obrazki" PIP_Tlo = "Work:Rend/Mini_tv1" /* Obrazek z tîem dla PIP'u */ /* Utworzenie listy obrazków do obróbki */ ECHO 'List >RAM:__Snap_LIST__ NOHEAD LFORMAT='sourcedir'/%s' sourcedir ADDRESS COMMAND 'List >RAM:__Snap_LIST__ NOHEAD LFORMAT='sourcedir'/%s' sourcedir IF rc ~= 0 THEN DO RequestNotify 'Problem w analizie katalogu zrodlowego.' EXIT END IF ~OPEN(lista_obrazkow, 'RAM:__Snap_LIST__', 'Read') THEN DO RequestNotify 'Problem w odczytaniu plików - nie znaleziono űadnego?' EXIT END /* Ustawienie parametrów poczâtkowych */ ActiveColor 1 DrawMode Color Pen 0 1 Blend 100 AlphaChannel Off EdgeMode AntiAlias 0 FillMode Solid 0 0 0 SMOOTH AirbrushSettings 5 50 0 Spray Undo OFF /* Pëtla tworzâca PIP'y na podstawie utworzonej listy obrazków */ DO WHILE ~EOF(lista_obrazkow) nastepny_obrazek = READLN(lista_obrazkow) IF nastepny_obrazek = "" THEN ITERATE Message nastepny_obrazek CALL Generuj END /* Usuniëcie listy plików poprzez wykorzystanie systemowej komendy Delete */ ADDRESS COMMAND 'Delete RAM:__Snap_LIST__ QUIET' Undo ON EXIT /* Procedura generacji PIP'u */ Generuj: LoadBuffer PIP_tlo Force LoadBrush nastepny_obrazek 1 if rc ~= 0 THEN RETURN Region Brush Scale 120 96 /* skalowanie obrazka */ DrawMode Darken /* wstawienie cienia o wymiarach zeskalowanego obrazka */ NewArea AddArea 82 66 FreeDraw DrawMode Normal /* wstawienie obrazka */ NewArea AddArea 76 59 FreeDraw Region Full KillBrush /* usuniëcie brusha-obrazka */ /* Utworzenie podpisu PIP'u na podstawie nazwy pliku obrazka poddawanego * obróbce, znaki "_" uűywane w nazwach plików dla zaznaczenia spacji * pomiëdzy wyrazami sâ zamieniane w tworzonym podpisie z powrotem na spacje. */ n = LASTPOS('/', nastepny_obrazek) + 1 PIP_nazwa = SUBSTR(nastepny_obrazek,n) PIP_tekst = TRANSLATE(PIP_nazwa,' ','_') Region Brush Text 'CGTimesRomanBoldItalic.font' 80 100 PIP_Tekst AntiAlias 255 Scale 115 38 /* zeskalowanie napisu */ DrawMode Darken /* tworzenie cienia napisu */ NewArea AddArea 72 143 FreeDraw DrawMode Normal /* wstawienie wîaôciwego napisu */ NewArea AddArea 68 139 FreeDraw Region Full KillBrush /* usuniëcie napisu */ /* Generowanie wyjôciowego obrazka z PIP'em i zapis do pliku z rozszerzeniem * ".PIP" */ Menu Render Render Dither 1 0 0 Render Colors 64 Render ModeID 137216 /* Tryb LoRes HAM8 */ Render Go SaveRenderedAs ILBM "Work:PIPy/"||PIP_nazwa||".PIP" Render Close Menu Toolbox RETURN