Annotation of researchv10dc/man/adm/man1/pico.1, revision 1.1.1.1

1.1       root        1: .TH PICO 1
                      2: .CT 1 editor graphics
                      3: .SH NAME
                      4: pico \(mi graphics editor
                      5: .SH SYNOPSIS
                      6: .B pico
                      7: [
                      8: .B -mfto
                      9: ]
                     10: [
                     11: .B -wN -hN
                     12: ]
                     13: [
                     14: .I files
                     15: ]
                     16: .SH DESCRIPTION
                     17: .I Pico
                     18: is an interactive editor for grey-scale and color images.
                     19: Editing operations are expressed in a C-like style.
                     20: The options are
                     21: .TP \w'\f5slower\ 'u
                     22: .BI -m n
                     23: Display on a Metheus frame buffer,
                     24: .BI  /dev/om n.
                     25: A missing
                     26: .I n
                     27: is taken to be 0.
                     28: .TP
                     29: .B -f
                     30: Display on an Itoh frame buffer,
                     31: .BR /dev/iti0 .
                     32: .TP
                     33: .B -t
                     34: Show parse trees for expressions; toggled by the interactive command
                     35: .LR tree .
                     36: .TP
                     37: .B -o
                     38: Turn off the optimizer; toggled by
                     39: .LR optim .
                     40: .PP
                     41: Files are referred to in expressions as
                     42: .BI $ n,
                     43: where 
                     44: .I n
                     45: is the basename or an integer,
                     46: see
                     47: .B f
                     48: below.
                     49: Otherwise file names are given as strings in double quotes,
                     50: which may be elided from names that do not contain
                     51: .LR / .
                     52: .LP
                     53: In general, the result of the previous edit
                     54: operation is available under the name
                     55: .LR old .
                     56: The destination
                     57: of the current operation is called
                     58: .LR new .
                     59: .LP
                     60: .I Pico
                     61: handles images with coordinates (0,0) in the upper left hand corner
                     62: and
                     63: .RB ( X , Y )
                     64: in the lower right.
                     65: Brightnesses range from 0 (black) to 
                     66: .BR Z 
                     67: (white, 
                     68: .BR Z =255).
                     69: The quantities
                     70: .BR X , Y , Z
                     71: may be used in expressions and set by options:
                     72: .TP \w'\f5slower\ 'u
                     73: .BI -w " n
                     74: Set the width 
                     75: .B X
                     76: of the work area to
                     77: .I n
                     78: pixels, default 511.
                     79: .TP
                     80: .BI -h " n
                     81: Set the height
                     82: .BR Y ,
                     83: default 511.
                     84: .PP
                     85: .LP
                     86: .I Pico
                     87: reads commands from the standard input:
                     88: .TP
                     89: .B help
                     90: Give a synopsis of commands and functions.
                     91: .TP
                     92: .BI a " file
                     93: .br
                     94: .ns
                     95: .TP
                     96: .BI a " x y w d file"
                     97: Attach a new file.
                     98: Optional parameters
                     99: .I x
                    100: and 
                    101: .I y
                    102: give the origin of a subrectangle in the work buffer;
                    103: .I w
                    104: and
                    105: .I d
                    106: define width and depth of the image as stored in the file.
                    107: .TP
                    108: .BI d " file"
                    109: .PD0
                    110: .TP
                    111: .BI "d $" n
                    112: Delete (close) the file.
                    113: .PD
                    114: .TP
                    115: .BI h " file"
                    116: Read header information from the file.
                    117: .TP
                    118: .BI r " file"
                    119: Read commands from
                    120: .I file
                    121: as if they were typed on the terminal.
                    122: Can not be done recursively.
                    123: .TP
                    124: .BI w " file
                    125: .br
                    126: .ns
                    127: .TP
                    128: .BI "w - " file
                    129: Write the file, restricted to the current window
                    130: (see below).
                    131: Use
                    132: .I pico
                    133: format by default.
                    134: With a minus flag,
                    135: write a headerless image
                    136: (red channel only, if picture is colored); see also
                    137: .IR picfile (5).
                    138: .TP
                    139: .B nocolor
                    140: .PD0
                    141: .TP
                    142: .B color
                    143: Set the number of channels updated in the work buffer to 1
                    144: (black and white) or 3 (red, green, blue).
                    145: .PD
                    146: .TP
                    147: .BI window " x y w d"
                    148: Restrict the work area to a portion of the
                    149: work buffer with the upper left corner at
                    150: .RI ( x,y ),
                    151: and the lower right at
                    152: .RI ( x+w, y+d ).
                    153: .TP
                    154: .BI get " file"
                    155: .br
                    156: .ns
                    157: .TP
                    158: .BI "get $" n
                    159: The picture file is (re)opened and read into the work area.
                    160: .TP
                    161: .B f
                    162: Show names, sizes, and file numbers of open files.
                    163: .TP
                    164: .B faster
                    165: .br
                    166: .ns
                    167: .TP
                    168: .B slower
                    169: In slow display the screen is updated once per pixel computed;
                    170: in fast display (default), once per line of pixels.
                    171: .TP
                    172: .BI show " name"
                    173: Show symbol table information, such as the current value of variables.
                    174: If 
                    175: .I name
                    176: is omitted, the whole symbol table is shown.
                    177: .TP
                    178: .B functions
                    179: Print information on all user defined and builtin functions.
                    180: .TP
                    181: .BI def " name \fB(\fI args \fB) {\fI program \fB}"
                    182: Define a function, with optional arguments.
                    183: Variables are declared in these styles:
                    184: .PD0
                    185: .IP
                    186: .EX
                    187: int var;
                    188: global int var;
                    189: array var[N];
                    190: global array var[N];
                    191: .EE
                    192: .PD
                    193: .TP
                    194: .BI x " expr"
                    195: Execute the expression in a default loop over all pixels in the
                    196: current window.
                    197: .TP
                    198: .BI "x {" program " }"
                    199: Execute the
                    200: .I program.
                    201: The program must define its own control flow.
                    202: .TP
                    203: .B q
                    204: Quit.
                    205: .SH EXAMPLES
                    206: .TP
                    207: .L "pico -w1280 -h1024 -m5"
                    208: Get a work buffer that exactly fills a Metheus screen.
                    209: .TP
                    210: .L
                    211: a "/tmp/images/rob"
                    212: Make a file accessible.
                    213: It will be known henceforth as
                    214: .LR $rob .
                    215: .PP
                    216: .EX
                    217: .L a 1280 0 3072 512 junk
                    218: .L get $junk
                    219: .EE
                    220: .PD0
                    221: .IP
                    222: Direct attention to a 512\(mu512 subrectangle in the middle
                    223: of a 3072\(mu512 image stored in a file named junk,
                    224: and read it into the workspace.
                    225: .LP
                    226: .EX
                    227: x new = Z - old
                    228: x new[x,y] = Z - old[x,y]
                    229: x {for(x=0; x<=X; x++) for(y=0; y<=Y; y++) new[x,y] = Z-old[x,y];}
                    230: .EE
                    231: .PD0
                    232: .IP
                    233: Three ways to make a negative image.
                    234: Note the defaults on control flow
                    235: and array indexing.
                    236: .PD
                    237: .LP
                    238: .EX
                    239: window 0 0 256 256
                    240: x new = $1[xclamp(x*2), yclamp(y*2)]
                    241: .EE
                    242: .PD0
                    243: .IP
                    244: Scale a 512\(mu512 image to one quarter of the screen.
                    245: The built-in functions
                    246: .L xclamp
                    247: and
                    248: .L yclamp
                    249: guard against indexing out of range.
                    250: .PD
                    251: .LP
                    252: .EX
                    253: x { printf("current value of %s[%d]:\et%d\en", "histo", 128, hist[128]); }
                    254: .EE
                    255: .PD0
                    256: .IP
                    257: Turn off the default control flow (curly braces) and use the
                    258: builtin function printf to check the value of an array element.
                    259: .SH "SEE ALSO"
                    260: .IR bcp (1),
                    261: .IR imscan (1),
                    262: .IR flicks (9.1), 
                    263: .IR rebecca (9.1), 
                    264: .IR picfile (5), 
                    265: .IR flickfile (9.5)
                    266: .br
                    267: G. J. Holzmann,
                    268: `PICO Tutorial',
                    269: this manual, Volume 2
                    270: .br
                    271: G. J. Holzmann,
                    272: .I Beyond Photography\(emthe Digital Darkroom,
                    273: Prentice-Hall, 1988

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.