diff options
author | Robin Watts <Robin.Watts@artifex.com> | 2011-04-06 15:13:55 +0100 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2011-04-06 16:42:33 +0200 |
commit | 72c4f265ad5659cace51190002dfde2ad1040608 (patch) | |
tree | f38d6cc9cf43c7a211a070912c0654f4572ee27d /apps/pdfdraw.c | |
parent | 83bf72e448e26f5b9c77abf0e646ec75ffc04c98 (diff) | |
download | mupdf-72c4f265ad5659cace51190002dfde2ad1040608.tar.xz |
First cut at halftone support. Mono only, 16x16 default halftone.
Add fz_bitmaps (1bpc versions of pixmaps, really).
Add fz_halftones (arrays of fz_pixmaps used as threshold arrays).
Add simple halftoning code.
Add pdfdraw usage of the above (ask for a .pbm and you get a halftoned image).
Diffstat (limited to 'apps/pdfdraw.c')
-rw-r--r-- | apps/pdfdraw.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/apps/pdfdraw.c b/apps/pdfdraw.c index baaac92c..69a7d3aa 100644 --- a/apps/pdfdraw.c +++ b/apps/pdfdraw.c @@ -186,6 +186,13 @@ static void drawpage(pdf_xref *xref, int pagenum) fz_write_pam(pix, buf, savealpha); else if (strstr(output, ".png")) fz_write_png(pix, buf, savealpha); + else if (strstr(output, ".pbm")) { + fz_halftone *ht = fz_get_default_halftone(1); + fz_bitmap *bit = fz_halftone_pixmap(pix, ht); + fz_write_pbm(bit, buf); + fz_drop_bitmap(bit); + fz_drop_halftone(ht); + } } if (showmd5) @@ -327,6 +334,8 @@ int main(int argc, char **argv) colorspace = fz_device_gray; if (output && strstr(output, ".ppm")) colorspace = fz_device_rgb; + if (output && strstr(output, ".pbm")) + colorspace = fz_device_gray; timing.count = 0; timing.total = 0; |