Graphics data
After receiving a graphics command such as ESC K nl
n2,
the
printer prints the number of codes specified by nl and
n2
as graphics
data, no matter what codes they are. This means that you must be sure
to supply exactly the right amount of graphics data. If you supply too
little, the printer will stop and wait for more data and will seem to be
locked. The next data sent will then be printed as graphics, even if it is
really text. On the other hand, if you supply too much graphics data,
the excess will be printed as regular text.
Simple Graphics Programming
The first example in this section shows how a graphics command,
column reservation numbers, and data can be used to print a single
line of graphics. The example is a BASIC program. If you prefer
another programming language, the principles are exactly the same.
Therefore, you can easily adapt the program to the language you prefer.
The first line of the program specifies single-density graphics for 40
columns:
100 LPRINT CHR$(27);"K";CHR$(40);CHR$(0);
The second line is the data that is printed as pin patterns. It uses the
number 74 to produce one of the patterns shown in Figure 5-1. The
FOR-NEXT loop sends 40 columns of data.
200 FOR X=1 TO
40:
LPRINT CHR$(74);: NEXT X
That is the whole program. In BASIC, semicolons at the ends of the
lines are very important; they prevent the computer from sending
other codes after the ones you specify. In other languages you may have
to use a special command to send a single code at a time. Run the
program to see the result below. Although it is not as interesting as the
examples at the beginning of this chapter, it shows exactly how the
mode works.
5 - 6
Graphics and User-defined Characters