9 const char *type =
ps.
true_color ? (mask ?
"RASTERRGBMASK" :
"RASTERRGB")
10 : (mask ?
"RASTERGRAYMASK" :
"RASTERGRAY");
12 int ssx =
src[0][1] -
src[0][0];
13 int ssy =
src[1][1] -
src[1][0];
17 double dsx =
dst[0][1] -
dst[0][0];
18 double dsy =
dst[1][1] -
dst[1][0];
19 double dox =
dst[0][0];
20 double doy =
dst[1][0];
25 output(
"%f %f translate %f %f scale\n", dox, doy, dsx, dsy);
26 output(
"%d %d [%d 0 0 %d %d %d] %s\n", ssx, ssy, ssx, ssy, sox, soy, type);
29 int PS_raster(
int n,
int row,
const unsigned char *red,
30 const unsigned char *grn,
const unsigned char *blu,
31 const unsigned char *nul)
35 for (i = 0; i < n; i++) {
38 output(
"%02X%02X%02X%02X", (nul && nul[i]) ? 0xFF : 0x00,
39 red[i], grn[i], blu[i]);
41 output(
"%02X%02X%02X", red[i], grn[i], blu[i]);
44 unsigned int gray = (
unsigned int)(red[i] * 0.299 + grn[i] * 0.587 +
48 output(
"%02X%02X", (nul && nul[i]) ? 0xFF : 0x00, gray);
void output(const char *fmt,...)
void PS_begin_raster(int mask, int src[2][2], double dst[2][2])
int PS_raster(int n, int row, const unsigned char *red, const unsigned char *grn, const unsigned char *blu, const unsigned char *nul)