Lotus PIC

Also Known As:


Alias Lotus Picture, PIC
Type Vector
Colors 6
Compression NA
Maximum Image Size Apparently 64Kx64K
Multiple Images Per File No
Numerical Format NA
Originator Lotus Development
Platform MS-DOS
Supporting Applications Lotus 1-2-3 and competing programs, word-processing and desktop-publishing applications, others
See Also Microsoft SYLK

Usage
Used by the graphing program associated with Lotus 1-2-3

Comments
A widely used format for interchange of data, primarily business graphics. Somewhat dated. Big-endian in format, although originating under MS-DOS on Intel-based machines.


Lotus PIC appeared in support of early versions of Lotus 1-2-3; files in PIC format were generated by the main application for use by an auxiliary program called Lotus Print Graph. Although recent versions of the application still support PIC, they have started using the Computer Graphics Metafile (CGM) as well, and we can safely assume that the days of PIC are numbered. Nevertheless, a great deal of data still exists in PIC format.

Contents:
File Organization and Details
For Further Information

File Organization and Details

The file is very simple and consists of a header, vector data, and an end-of-file indicator. The header appears to be arbitrary and contains the following hex string:

01 00 00 00 01 00 08 00 44 00 00 00 0C 7F 09 06

Following the header is a list of encoded drawing commands, stored either as byte pairs or as 16-bit values. Either form may be followed by arguments. Commands are recognized by reading data either one byte at a time, assembling 16 bits of data in memory, or reading data 16 bits at a time and examining the first byte of each item. Coordinate values are always stored as 16-bit signed integers. Although positional data can theoretically be in the range -32,767 to 32,767, Lotus Print Graph always scales data to fit into the rectangle 0, 0, 3200, 2311.

Drawing commands supported by PIC are listed below:

BN

color

N is an 8-bit color value

A0 XX YY

move

Move drawing cursor to XX,YY

A2 XX YY

draw

Draw to XX,YY, update cursor

30 N-1 X1 Y1...XN YN

fill

Filled polygon of N vertices

D0 N-1 X1 Y1...XN YN

fill outlined

Filled polygon with outline

AC XX YY

text size

XX and YY are char cell size

A7 N

font

Set font: type 0 or 1 only

A8 N STRING

text

Draw NULL-terminated text string STRING, N contains direction and alignment information:

00horizontal

10vertical up

20upside down

30vertical down

00center aligned

01left center aligned

02top center aligned

03right center aligned

04bottom center aligned

05top left aligned

06top right aligned

07bottom left aligned

08bottom right aligned

60-6F

end

End of image

The following example draws a line from 0,0 to 100,100 and draws the string "text" with characters fitting into an 8 by 10 cell:

A0 00 00 00 00 A2 00 64 00 64 AC 00 08 00 0A A8 00 74 65 78 74 60

For Further Information

Lotus no longer supports PIC, so it is difficult to get information about it. You might try contacting Lotus at:

Lotus Development Corporation
55 Cambridge Parkway
Cambridge, MA 02142
Voice: 617-577-8500
Voice: 800-831-9679
FAX: 617-225-1197

The following book, available in bookstores or from Lotus, provides additional information about Lotus PIC:

Lotus Development Corporation, Lotus File Formats for 1-2-3, Symphony, & Jazz, Lotus Books, Cambridge, MA, 1986.



Copyright © 1996, 1994 O'Reilly & Associates, Inc. All Rights Reserved.