home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 2000 April & May / AMIGA_2000_04.iso / amiga-magazin / visualengineer / ve-full.lha / arexx / VisualTexture2.rexx < prev    next >
OS/2 REXX Batch file  |  1999-07-15  |  3KB  |  177 lines

  1. /*
  2.  
  3.    v1.00 Visual Texture 2
  4.  
  5.    Marko Seppänen
  6.    marko.seppanen@wwnet.fi
  7.  
  8. */
  9.  
  10.  
  11. address IMAGEENGINEER
  12.  
  13. Options results
  14. signal on error            /* Setup a place for errors to go */
  15.  
  16. if arg()=0 then exit
  17. x=arg(1)
  18. parse var x texture smoothness conv reflect method .
  19.  
  20.  
  21.  
  22. if smoothness="" then do
  23.  
  24.   if exists("ie:prefs/visualtexture2.cfg") == "1" then
  25.     do
  26.       call open("temp","ie:prefs/visualtexture2.cfg","R")
  27.       values=readln("temp")
  28.       parse var values ok smoothness conv reflect method .
  29.       call close("temp")
  30.     end
  31.   else
  32.     do
  33.       smoothness=0
  34.       conv=1
  35.       reflect=0
  36.       method=0
  37.     end
  38.  
  39.   'FORM "Visual Texture 2" "Use|Cancel"',
  40.   'CYCLE,"Starting smoothness","None|Gaussian|Lowpass|Median",'smoothness'',
  41.   'CYCLE,"Style","None|1|2|3|4|5",'conv'',
  42.   'CYCLE,"Reflection","No|Yes",'reflect'',
  43.   'CYCLE,"Type","Shiny|Dark|Faded",'method''
  44.  
  45.   values=result
  46.   parse var values ok smoothness conv reflect method .
  47.  
  48.   if ok = 0 then exit
  49.  
  50.   call open("temp","ie:prefs/visualtexture2.cfg","W")
  51.   res=writeln("temp",values)
  52.   call close("temp")
  53.  
  54. end
  55.  
  56.  
  57.  
  58.  
  59.  
  60. /* STARTING SMOOTHNESS */
  61.  
  62. select
  63.  
  64.    when smoothness == "1" | upper(smoothness) == "GAUSSIAN" then do
  65.     CONVOLVE texture "IE:Convolves/GaussianBlur5x5"
  66.     smooth=result
  67.   end
  68.  
  69.   when smoothness == "2" | upper(smoothness) == "LOWPASS" then do
  70.     LOWPASS texture 15 15
  71.     smooth=result
  72.   end
  73.  
  74.   when smoothness == "3" | upper(smoothness) == "MEDIAN" then do
  75.     MEDIAN texture 7 7
  76.     smooth=result
  77.   end
  78.  
  79. otherwise smooth=texture
  80. end
  81.  
  82.  
  83.  
  84.  
  85.  
  86. CONVERT_TO_GREY smooth
  87. greytexture=result
  88.  
  89. if smoothness ~== "0" & upper(smoothness) ~== "NONE" then CLOSE smooth
  90.  
  91.  
  92.  
  93.  
  94.  
  95. /* CONVOLVE */
  96.  
  97. select
  98.  
  99.   when conv == 1  then convolvetype="Line_Detect_Verti"
  100.   when conv == 2  then convolvetype="Reflect_SouthEast"
  101.   when conv == 3  then convolvetype="ColourFragment_Black"
  102.   when conv == 4  then convolvetype="Crayon"
  103.   when conv == 5  then convolvetype="SmoothEdge_Low"
  104.  
  105. otherwise noconvolve=1
  106. end
  107.  
  108.  
  109. if noconvolve ~== "1" then do
  110.  
  111.   CONVOLVE greytexture "IE:Convolves/"convolvetype
  112.   convolved=result
  113.  
  114.   CLOSE greytexture
  115.  
  116. end
  117. else convolved=greytexture
  118.  
  119.  
  120.  
  121.  
  122.  
  123. /* REFLECTION */
  124.  
  125. if reflect == "1" | upper(reflect) == "YES" then do
  126.  
  127.   REFLECT_X convolved
  128.   xreflected=result
  129.  
  130.   CLOSE convolved
  131.  
  132.   REFLECT_Y xreflected
  133.   greytexture=result
  134.  
  135.   CLOSE xreflected
  136.  
  137. end
  138. else greytexture=convolved
  139.  
  140.  
  141.  
  142.  
  143.  
  144. /* COMPOSITE METHOD */
  145.  
  146. if method == "0" | upper(method) == "SHINY" then compositemethod="ADD"
  147. if method == "1" | upper(method) == "DARK" then compositemethod="MIN"
  148. if method == "2" | upper(method) == "FADED" then compositemethod="MIX 80"
  149.  
  150. MARK greytexture PRIMARY
  151. MARK texture SECONDARY
  152. COMPOSITE 0 0 compositemethod
  153. finaltexture=result
  154.  
  155. CLOSE greytexture
  156.  
  157.  
  158. exit
  159.  
  160. /*******************************************************************/
  161. /* This is where control goes when an error code is returned by IE */
  162. /* It puts up a message saying what happened and on which line     */
  163. /*******************************************************************/
  164. error:
  165. if RC=5 then do            /* Did the user just cancel us? */
  166.     IE_TO_FRONT
  167.     LAST_ERROR
  168.     'REQUEST "'||RESULT||'"'
  169.     exit
  170. end
  171. else do
  172.     IE_TO_FRONT
  173.     LAST_ERROR
  174.     'REQUEST "Error detected!!!'||D2C(10)||'Image Engineer error message is as follows'||D2C(10)||result||D2C(10)||'Script failed on line '||SIGL||'"' 'Doh!'
  175.     exit
  176. end
  177.