summaryrefslogtreecommitdiff
path: root/source/fitz/writer.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/fitz/writer.c')
-rw-r--r--source/fitz/writer.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/source/fitz/writer.c b/source/fitz/writer.c
index 6ef40ffb..3c53f633 100644
--- a/source/fitz/writer.c
+++ b/source/fitz/writer.c
@@ -65,11 +65,26 @@ fz_new_document_writer(fz_context *ctx, const char *path, const char *format, co
if (!fz_strcasecmp(format, "pdf"))
return fz_new_pdf_writer(ctx, path, options);
#endif
- if (!fz_strcasecmp(format, "png"))
- return fz_new_png_writer(ctx, path, options);
if (!fz_strcasecmp(format, "svg"))
return fz_new_svg_writer(ctx, path, options);
+ if (!fz_strcasecmp(format, "png"))
+ return fz_new_pixmap_writer(ctx, path, options, "out-%04.png", 0, fz_save_pixmap_as_png);
+ if (!fz_strcasecmp(format, "tga"))
+ return fz_new_pixmap_writer(ctx, path, options, "out-%04.tga", 0, fz_save_pixmap_as_tga);
+ if (!fz_strcasecmp(format, "pam"))
+ return fz_new_pixmap_writer(ctx, path, options, "out-%04.pam", 0, fz_save_pixmap_as_pam);
+ if (!fz_strcasecmp(format, "pnm"))
+ return fz_new_pixmap_writer(ctx, path, options, "out-%04.pnm", 0, fz_save_pixmap_as_pnm);
+ if (!fz_strcasecmp(format, "pgm"))
+ return fz_new_pixmap_writer(ctx, path, options, "out-%04.pgm", 1, fz_save_pixmap_as_pnm);
+ if (!fz_strcasecmp(format, "ppm"))
+ return fz_new_pixmap_writer(ctx, path, options, "out-%04.ppm", 3, fz_save_pixmap_as_pnm);
+ if (!fz_strcasecmp(format, "pbm"))
+ return fz_new_pixmap_writer(ctx, path, options, "out-%04.pbm", 1, fz_save_pixmap_as_pbm);
+ if (!fz_strcasecmp(format, "pkm"))
+ return fz_new_pixmap_writer(ctx, path, options, "out-%04.pkm", 4, fz_save_pixmap_as_pkm);
+
fz_throw(ctx, FZ_ERROR_GENERIC, "unknown output document format: %s", format);
}