ivtools comdraw is derived from ivtools drawtool. It has extensions for command interpreting of drawing capability, using a simple yet fully programmable scripting language Here is the man page for ivtools comdraw. The set of pre-defined operators and commands of comterp are available in comdraw as well.
Sample Scripts
Pseudo-spirograph To use comdraw like a Spirograph, start one up, and enter something like the following into stdin:
for(i=0 i<100 i++
:body x=300+cos(i)*100;y=300+sin(i)*100;ellipse(x,y,30,20);rotate(i);update
)
which generates this
Random jelly-beans To draw a collection of randomly positioned and colored ellipses (jelly beans), enter the following into a comdraw interpreter:
for(x=0 x<100 x++
:body ellipse(rand(0,ncols-1),rand(0,nrows-1),rand(20,30),rand(10,20));rotate(rand(1,180));update;colors(rand(1,ncolors) rand(1,ncolors));pattern(rand(1,npatterns))
)
which generates this
in both above examples there is no need for the :body argument, because the for defaults to using the fourth argument as the body of the for-loop
Anti-aliased fonts Want to play with anti-aliased fonts? First acquire, build, and install the Netpbm imaging utilities, then use the "import" command with a :popen flag as follows:
import("pbmtext \"TEST STRING\" | pnmalias" :popen)
...or experiment with any other possible combination of Netbpm and Unix filters.
ivtools drawing editors | idraw | drawtool | comdraw | flipbook | graphdraw |