GRASS Programmer's Manual  6.5.svn(2014)-r66266
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
psdriver/Draw_bitmap.c
Go to the documentation of this file.
1 
2 #include "psdriver.h"
3 
4 void PS_draw_bitmap(int ncols, int nrows, int threshold,
5  const unsigned char *buf)
6 {
7  int i, j;
8 
9  output("%d %d %d %d BITMAP\n", cur_x, cur_y, ncols, nrows);
10 
11  for (j = 0; j < nrows; j++) {
12  unsigned int bit = 0x80;
13  unsigned int acc = 0;
14 
15  for (i = 0; i < ncols; i++) {
16  unsigned int k = buf[j * ncols + i];
17 
18  if (k > threshold)
19  acc |= bit;
20 
21  bit >>= 1;
22 
23  if (!bit) {
24  output("%02X", acc);
25  bit = 0x80;
26  acc = 0;
27  }
28  }
29 
30  if (bit != 0x80)
31  output("%02X", acc);
32 
33  output("\n");
34  }
35 }
int cur_y
Definition: driver/init.c:38
char buf[GNAME_MAX+sizeof(G3D_DIRECTORY)+2]
Definition: g3drange.c:62
int cur_x
Definition: driver/init.c:37
void PS_draw_bitmap(int ncols, int nrows, int threshold, const unsigned char *buf)
void output(const char *fmt,...)