home *** CD-ROM | disk | FTP | other *** search
/ Amiga Computing 64 / ac064.adf / Rexx / Demo.ifx < prev    next >
Text File  |  1978-01-13  |  11KB  |  589 lines

  1. /*
  2.  * A simple looping demo of some of the features of ImageFX.
  3.  *
  4.  * Written by Thomas Krehbiel
  5.  *
  6.  */
  7.  
  8. SIGNAL ON BREAK_C
  9. OPTIONS RESULTS
  10.  
  11. CR = '0a'x
  12.  
  13. text =         'Welcome to the ImageFX demo Arexx script.' || CR || CR
  14. text = text || 'Warning:  This only shows a small part of' || CR
  15. text = text || 'the powerful capabilities of this software.' || CR || CR
  16. text = text || '(Please fasten your seat belts.)'
  17. DemoText 3 '"IMAGEFX DEMO"' text
  18.  
  19. LoadBuffer "pix/Demo.JPG" Force Smooth
  20. IF rc ~= 0 THEN EXIT
  21.  
  22. GetMain ; IF result = "" THEN EXIT
  23. PARSE VAR result '"'name'"' width height depth
  24.  
  25. Undo Off
  26.  
  27. DO FOREVER
  28.  
  29.    RANDOM(0,1,TIME('Seconds'))      /* seed random numbers */
  30.  
  31.    Menu Toolbox
  32.  
  33.    text =         'ImageFX includes a wide variety' || CR
  34.    text = text || 'of image processing tools.  Each effect' || CR
  35.    text = text || 'can be limited to a region of the image,' || CR
  36.    text = text || 'or even to the current brush.'
  37.    DemoText 5 '"Image Processing"' text
  38.  
  39.    Redraw Off
  40.    SwapAlpha
  41.    CopyFromAlpha
  42.    Scale width%4-1 height%4-1
  43.    Swap
  44.    CreateBuffer width height Force
  45.    Redraw On
  46.  
  47.    col = 0 ; row = 0
  48.    HidePanel
  49.    CALL Patch("Negative")
  50.    CALL Patch("Solarize", 1, 0)
  51.    CALL Patch("Posterize 3", 2, 0)
  52.    CALL Patch("Halftone 1", 3, 0)
  53.    CALL Patch("Sharpen 200", 0, 1)
  54.    CALL Patch("Blur 16", 1, 1)
  55.    CALL Patch("ReliefMap", 2, 1)
  56.    CALL Patch("EdgeDetect 1", 3, 1)
  57.    CALL Patch("Gamma 100", 0, 2)
  58.    CALL Patch("Contrast 100", 1, 2)
  59.    CALL Patch("Disperse 1", 2, 2)
  60.    CALL Patch("Roughen 50", 3, 2)
  61.    CALL Patch("Red '-30'", 0, 3)
  62.    CALL Patch("Hue 20", 1, 3);
  63.    CALL Patch("Rotate 180", 2, 3);
  64.    CALL Patch("DynamicRange 70 180", 3, 3);
  65.    KillBrush Force
  66.    CALL Pause 3
  67.  
  68.    Redraw Off
  69.    KillSwap Force
  70.    KillBuffer Force
  71.    SwapAlpha
  72.    ShowPanel
  73.    Redraw On
  74.  
  75.    Buffer2Swap
  76.  
  77.    text =         'ImageFX has a sophisticated collection of painting' || CR
  78.    text = text || 'and touchup tools included, ranging from simple lines' || CR
  79.    text = text || 'and boxes to advanced airbrush and smearing tools.' || CR
  80.    text = text || 'There are over a dozen drawing modes to choose from,' || CR
  81.    text = text || 'including darken, lighten, colorize, and rub through.' || CR
  82.    DemoText 5 '"Painting Tools"' text
  83.  
  84.    HidePanel
  85.    index = 1
  86.    DO i = 1 TO 20
  87.       CALL Primitive
  88.       END
  89.    Pen 0 1 ; Blend 100 ; EdgeMode Normal ; DrawMode Normal ; FillMode Normal
  90.    CALL RandomPoly
  91.    CALL HappyFace
  92.    CALL Pause 3
  93.    ShowPanel
  94.  
  95.    Menu Render
  96.  
  97.    text =         'ImageFX has some of the most advanced image' || CR
  98.    text = text || 'rendering available for the Amiga.  24-Bit' || CR
  99.    text = text || 'images can be rendered to any Amiga display' || CR
  100.    text = text || 'format, including HAM, Extra Halfbright, and' || CR
  101.    text = text || 'all AGA display modes (HAM8, Super72, etc.).'
  102.    DemoText 5 '"Image Rendering"' text
  103.  
  104.    Render Mode HAM NoLace
  105.    Render Dither 0 0 0
  106.    Render Colors 64
  107.    Render Go
  108.    CALL Pause 4
  109.    Render Close
  110.  
  111.    Swap ; Buffer2Swap
  112.  
  113.    END
  114.  
  115. ERROR:
  116. BREAK_C:
  117.    Undo On
  118.    EXIT
  119.  
  120.  
  121. Pause:
  122.    PARSE ARG seconds
  123.  
  124.    ADDRESS COMMAND 'Wait' seconds
  125.  
  126.    RETURN 0
  127.  
  128.  
  129. Patch:
  130.    PROCEDURE EXPOSE width height row col
  131.    PARSE ARG effect
  132.  
  133.    PickupSwap
  134.    INTERPRET effect
  135.    BrushHandle 0 0
  136.    Point col*width%4 row*height%4
  137.  
  138.    col = col + 1
  139.    IF col > 3 THEN DO
  140.       row = row + 1
  141.       col = 0
  142.       END
  143.  
  144.    RETURN 0
  145.  
  146.  
  147. Primitive:
  148.    PROCEDURE EXPOSE index width height
  149.  
  150.    ActiveColor RANDOM(4,15)
  151.  
  152.    x0 = RANDOM(0,width-1)
  153.    y0 = RANDOM(0,height-81)
  154.    x1 = RANDOM(0,width-1)
  155.    y1 = RANDOM(0,height-81)
  156.    w  = RANDOM(0,width%3)
  157.    h  = RANDOM(0,height%3)
  158.  
  159.    Blend RANDOM(60,100)
  160.    EdgeMode FeatherIn RANDOM(0,6)
  161.    Pen RANDOM(0,4) RANDOM(1,8)
  162.  
  163.    IF RANDOM(0,6) = 0 THEN DO
  164.       DrawMode Colorize
  165.       END
  166.    ELSE DO
  167.       DrawMode Normal
  168.       END
  169.  
  170.    SELECT
  171.       WHEN index = 1 THEN DO
  172.          Line x0 y0 x1 y1
  173.          END
  174.       WHEN index = 2 THEN DO
  175.          Box x0 y0 w h
  176.          END
  177.       WHEN index = 3 THEN DO
  178.          FilledBox x0 y0 w h
  179.          END
  180.       WHEN index = 4 THEN DO
  181.          Oval x0 y0 w h
  182.          END
  183.       WHEN index = 5 THEN DO
  184.          FilledOval x0 y0 w h
  185.          END
  186.       OTHERWISE NOP
  187.       END
  188.  
  189.    index = index + 1
  190.    IF index > 5 THEN index = 1
  191.  
  192.    RETURN 0
  193.  
  194.  
  195. RandomPoly:
  196.    Blend 100
  197.    ActiveColor RANDOM(4,15)
  198.  
  199.    NewArea
  200.    DO i = 1 TO 10
  201.       AddArea RANDOM(0,width-1) RANDOM(0,height-1)
  202.       END
  203.    FilledPoly
  204.  
  205.    RETURN 0
  206.  
  207.  
  208. HappyFace:
  209.    Blend 90
  210.  
  211.    ActiveColor 1  /* white */
  212.    NewArea
  213.    AddArea 168 53
  214.    AddArea 167 53
  215.    AddArea 166 53
  216.    AddArea 165 53
  217.    AddArea 161 53
  218.    AddArea 160 52
  219.    AddArea 157 52
  220.    AddArea 154 52
  221.    AddArea 152 52
  222.    AddArea 149 52
  223.    AddArea 147 52
  224.    AddArea 146 52
  225.    AddArea 145 52
  226.    AddArea 142 51
  227.    AddArea 140 51
  228.    AddArea 137 51
  229.    AddArea 132 51
  230.    AddArea 129 52
  231.    AddArea 125 52
  232.    AddArea 122 52
  233.    AddArea 120 52
  234.    AddArea 118 53
  235.    AddArea 116 53
  236.    AddArea 115 54
  237.    AddArea 113 55
  238.    AddArea 112 55
  239.    AddArea 110 56
  240.    AddArea 109 57
  241.    AddArea 108 58
  242.    AddArea 106 59
  243.    AddArea 105 59
  244.    AddArea 104 60
  245.    AddArea 103 61
  246.    AddArea 102 62
  247.    AddArea 102 63
  248.    AddArea 101 64
  249.    AddArea 100 65
  250.    AddArea 99 65
  251.    AddArea 99 67
  252.    AddArea 98 68
  253.    AddArea 97 69
  254.    AddArea 97 70
  255.    AddArea 96 72
  256.    AddArea 96 73
  257.    AddArea 95 74
  258.    AddArea 95 76
  259.    AddArea 94 79
  260.    AddArea 93 82
  261.    AddArea 93 83
  262.    AddArea 93 84
  263.    AddArea 93 87
  264.    AddArea 93 89
  265.    AddArea 93 93
  266.    AddArea 93 99
  267.    AddArea 93 103
  268.    AddArea 93 108
  269.    AddArea 94 114
  270.    AddArea 94 120
  271.    AddArea 94 124
  272.    AddArea 94 129
  273.    AddArea 94 130
  274.    AddArea 95 131
  275.    AddArea 95 132
  276.    AddArea 95 133
  277.    AddArea 96 136
  278.    AddArea 97 138
  279.    AddArea 98 139
  280.    AddArea 99 139
  281.    AddArea 100 140
  282.    AddArea 102 141
  283.    AddArea 105 143
  284.    AddArea 108 144
  285.    AddArea 111 145
  286.    AddArea 115 146
  287.    AddArea 118 147
  288.    AddArea 121 149
  289.    AddArea 122 149
  290.    AddArea 128 150
  291.    AddArea 131 151
  292.    AddArea 134 152
  293.    AddArea 137 152
  294.    AddArea 141 153
  295.    AddArea 144 154
  296.    AddArea 149 154
  297.    AddArea 154 154
  298.    AddArea 158 154
  299.    AddArea 162 155
  300.    AddArea 168 155
  301.    AddArea 172 155
  302.    AddArea 178 154
  303.    AddArea 181 154
  304.    AddArea 185 154
  305.    AddArea 189 154
  306.    AddArea 193 153
  307.    AddArea 196 152
  308.    AddArea 199 152
  309.    AddArea 202 151
  310.    AddArea 204 150
  311.    AddArea 207 149
  312.    AddArea 209 147
  313.    AddArea 210 144
  314.    AddArea 212 143
  315.    AddArea 212 139
  316.    AddArea 213 136
  317.    AddArea 215 132
  318.    AddArea 216 127
  319.    AddArea 216 122
  320.    AddArea 217 119
  321.    AddArea 217 112
  322.    AddArea 217 108
  323.    AddArea 217 105
  324.    AddArea 216 100
  325.    AddArea 216 98
  326.    AddArea 216 95
  327.    AddArea 215 92
  328.    AddArea 214 89
  329.    AddArea 213 85
  330.    AddArea 212 80
  331.    AddArea 212 76
  332.    AddArea 211 72
  333.    AddArea 210 69
  334.    AddArea 208 66
  335.    AddArea 207 63
  336.    AddArea 206 62
  337.    AddArea 204 60
  338.    AddArea 203 59
  339.    AddArea 202 59
  340.    AddArea 200 58
  341.    AddArea 198 58
  342.    AddArea 194 57
  343.    AddArea 191 56
  344.    AddArea 189 56
  345.    AddArea 188 55
  346.    AddArea 185 55
  347.    AddArea 184 55
  348.    AddArea 182 54
  349.    AddArea 179 53
  350.    AddArea 175 53
  351.    AddArea 172 52
  352.    AddArea 167 52
  353.    AddArea 166 52
  354.    AddArea 165 51
  355.    Airbrush
  356.  
  357.    ActiveColor 4  /* blue */
  358.    NewArea
  359.    AddArea 135 80
  360.    AddArea 132 80
  361.    AddArea 132 81
  362.    AddArea 132 82
  363.    AddArea 132 83
  364.    AddArea 131 83
  365.    AddArea 131 82
  366.    AddArea 132 82
  367.    AddArea 132 81
  368.    AddArea 133 81
  369.    AddArea 134 80
  370.    AddArea 135 80
  371.    AddArea 136 80
  372.    AddArea 137 80
  373.    AddArea 138 80
  374.    AddArea 139 81
  375.    AddArea 143 81
  376.    AddArea 144 81
  377.    AddArea 145 81
  378.    AddArea 146 81
  379.    AddArea 147 82
  380.    AddArea 148 83
  381.    AddArea 148 84
  382.    AddArea 149 86
  383.    AddArea 149 89
  384.    AddArea 149 91
  385.    AddArea 149 93
  386.    AddArea 149 94
  387.    AddArea 148 94
  388.    AddArea 148 95
  389.    AddArea 147 95
  390.    AddArea 146 96
  391.    AddArea 145 96
  392.    AddArea 144 96
  393.    AddArea 143 96
  394.    AddArea 142 96
  395.    AddArea 141 96
  396.    AddArea 139 96
  397.    AddArea 138 95
  398.    AddArea 137 95
  399.    AddArea 136 94
  400.    AddArea 135 94
  401.    AddArea 134 94
  402.    AddArea 133 93
  403.    AddArea 132 92
  404.    AddArea 132 91
  405.    AddArea 131 91
  406.    AddArea 130 89
  407.    AddArea 130 86
  408.    AddArea 130 82
  409.    AddArea 130 80
  410.    AddArea 129 80
  411.    Airbrush
  412.  
  413.    NewArea
  414.    AddArea 172 81
  415.    AddArea 173 81
  416.    AddArea 174 80
  417.    AddArea 176 80
  418.    AddArea 177 80
  419.    AddArea 178 80
  420.    AddArea 179 80
  421.    AddArea 180 80
  422.    AddArea 181 81
  423.    AddArea 182 81
  424.    AddArea 183 82
  425.    AddArea 184 83
  426.    AddArea 185 84
  427.    AddArea 186 84
  428.    AddArea 186 85
  429.    AddArea 186 86
  430.    AddArea 187 87
  431.    AddArea 187 88
  432.    AddArea 188 89
  433.    AddArea 188 90
  434.    AddArea 188 91
  435.    AddArea 187 91
  436.    AddArea 187 92
  437.    AddArea 186 93
  438.    AddArea 186 94
  439.    AddArea 185 95
  440.    AddArea 185 96
  441.    AddArea 184 97
  442.    AddArea 183 97
  443.    AddArea 182 97
  444.    AddArea 181 97
  445.    AddArea 180 97
  446.    AddArea 179 97
  447.    AddArea 178 97
  448.    AddArea 177 97
  449.    AddArea 176 97
  450.    AddArea 175 97
  451.    AddArea 174 97
  452.    AddArea 173 97
  453.    AddArea 172 96
  454.    AddArea 171 95
  455.    AddArea 170 94
  456.    AddArea 169 93
  457.    AddArea 168 93
  458.    AddArea 168 92
  459.    AddArea 167 91
  460.    AddArea 167 90
  461.    AddArea 167 89
  462.    AddArea 168 88
  463.    AddArea 168 87
  464.    AddArea 169 86
  465.    AddArea 170 86
  466.    AddArea 171 85
  467.    AddArea 172 85
  468.    Airbrush
  469.  
  470.    ActiveColor 2  /* red */
  471.    NewArea
  472.    AddArea 118 115
  473.    AddArea 118 116
  474.    AddArea 119 116
  475.    AddArea 119 117
  476.    AddArea 119 118
  477.    AddArea 120 119
  478.    AddArea 121 119
  479.    AddArea 122 122
  480.    AddArea 124 123
  481.    AddArea 125 124
  482.    AddArea 126 125
  483.    AddArea 128 126
  484.    AddArea 129 127
  485.    AddArea 131 128
  486.    AddArea 132 129
  487.    AddArea 132 130
  488.    AddArea 134 130
  489.    AddArea 135 131
  490.    AddArea 137 131
  491.    AddArea 138 132
  492.    AddArea 142 132
  493.    AddArea 143 132
  494.    AddArea 145 133
  495.    AddArea 146 133
  496.    AddArea 149 133
  497.    AddArea 152 133
  498.    AddArea 154 134
  499.    AddArea 155 134
  500.    AddArea 156 134
  501.    AddArea 158 134
  502.    AddArea 159 135
  503.    AddArea 161 135
  504.    AddArea 162 135
  505.    AddArea 164 135
  506.    AddArea 165 135
  507.    AddArea 167 135
  508.    AddArea 168 135
  509.    AddArea 170 135
  510.    AddArea 171 134
  511.    AddArea 172 134
  512.    AddArea 175 134
  513.    AddArea 178 133
  514.    AddArea 182 133
  515.    AddArea 185 133
  516.    AddArea 186 133
  517.    AddArea 187 132
  518.    AddArea 188 131
  519.    AddArea 189 131
  520.    AddArea 190 130
  521.    AddArea 191 129
  522.    AddArea 191 128
  523.    AddArea 192 127
  524.    AddArea 192 126
  525.    AddArea 192 125
  526.    AddArea 193 124
  527.    AddArea 193 123
  528.    AddArea 194 122
  529.    AddArea 194 121
  530.    AddArea 194 120
  531.    AddArea 195 119
  532.    AddArea 195 118
  533.    AddArea 195 117
  534.    AddArea 195 116
  535.    AddArea 195 115
  536.    AddArea 195 114
  537.    AddArea 194 114
  538.    AddArea 193 114
  539.    AddArea 191 115
  540.    AddArea 190 115
  541.    AddArea 186 115
  542.    AddArea 184 116
  543.    AddArea 180 117
  544.    AddArea 177 118
  545.    AddArea 175 118
  546.    AddArea 174 118
  547.    AddArea 172 119
  548.    AddArea 170 119
  549.    AddArea 169 119
  550.    AddArea 168 120
  551.    AddArea 166 120
  552.    AddArea 165 120
  553.    AddArea 163 120
  554.    AddArea 162 120
  555.    AddArea 159 120
  556.    AddArea 158 120
  557.    AddArea 156 120
  558.    AddArea 153 120
  559.    AddArea 149 120
  560.    AddArea 146 120
  561.    AddArea 143 120
  562.    AddArea 142 120
  563.    AddArea 138 120
  564.    AddArea 137 119
  565.    AddArea 135 119
  566.    AddArea 134 119
  567.    AddArea 133 119
  568.    AddArea 132 119
  569.    AddArea 131 119
  570.    AddArea 130 118
  571.    AddArea 129 118
  572.    AddArea 128 118
  573.    AddArea 128 117
  574.    AddArea 127 117
  575.    AddArea 126 117
  576.    AddArea 125 117
  577.    AddArea 124 116
  578.    AddArea 123 115
  579.    AddArea 122 115
  580.    AddArea 121 115
  581.    AddArea 120 115
  582.    AddArea 120 114
  583.    AddArea 119 114
  584.    Airbrush
  585.  
  586.    Blend 100
  587.  
  588.    RETURN 0
  589.