void fz_write_pixmap_as_ps(fz_context *ctx, fz_output *out, const fz_pixmap *pixmap) { fz_band_writer *writer; fz_write_ps_file_header(ctx, out); writer = fz_new_ps_band_writer(ctx, out); fz_try(ctx) { fz_write_header(ctx, writer, pixmap->w, pixmap->h, pixmap->n, pixmap->alpha, pixmap->xres, pixmap->yres, 1); fz_write_band(ctx, writer, pixmap->stride, 0, pixmap->h, pixmap->samples); fz_write_trailer(ctx, writer); } fz_always(ctx) { fz_drop_band_writer(ctx, writer); } fz_catch(ctx) { fz_rethrow(ctx); } fz_write_ps_file_trailer(ctx, out, 1); }
void fz_write_pixmap_as_pam(fz_context *ctx, fz_output *out, fz_pixmap *pixmap) { fz_band_writer *writer = fz_new_pam_band_writer(ctx, out); fz_try(ctx) { fz_write_header(ctx, writer, pixmap->w, pixmap->h, pixmap->n, pixmap->alpha, 0, 0, 0, pixmap->colorspace, pixmap->seps); fz_write_band(ctx, writer, pixmap->stride, pixmap->h, pixmap->samples); } fz_always(ctx) fz_drop_band_writer(ctx, writer); fz_catch(ctx) fz_rethrow(ctx); }
void fz_write_pixmap_as_pwg_page(fz_context *ctx, fz_output *out, const fz_pixmap *pixmap, const fz_pwg_options *pwg) { fz_band_writer *writer = fz_new_pwg_band_writer(ctx, out, pwg); fz_try(ctx) { fz_write_header(ctx, writer, pixmap->w, pixmap->h, pixmap->n, pixmap->alpha, pixmap->xres, pixmap->yres, 0, pixmap->colorspace, pixmap->seps); fz_write_band(ctx, writer, pixmap->stride, pixmap->h, pixmap->samples); } fz_always(ctx) fz_drop_band_writer(ctx, writer); fz_catch(ctx) fz_rethrow(ctx); }
void fz_write_bitmap_as_pwg_page(fz_context *ctx, fz_output *out, const fz_bitmap *bitmap, const fz_pwg_options *pwg) { fz_band_writer *writer = fz_new_mono_pwg_band_writer(ctx, out, pwg); fz_try(ctx) { fz_write_header(ctx, writer, bitmap->w, bitmap->h, bitmap->n, 0, bitmap->xres, bitmap->yres, 0, NULL, NULL); fz_write_band(ctx, writer, bitmap->stride, bitmap->h, bitmap->samples); } fz_always(ctx) fz_drop_band_writer(ctx, writer); fz_catch(ctx) fz_rethrow(ctx); }
void fz_save_pixmap_as_pam(fz_context *ctx, fz_pixmap *pixmap, const char *filename) { fz_band_writer *writer = NULL; fz_output *out = fz_new_output_with_path(ctx, filename, 0); fz_var(writer); fz_try(ctx) { writer = fz_new_pam_band_writer(ctx, out); fz_write_header(ctx, writer, pixmap->w, pixmap->h, pixmap->n, pixmap->alpha, 0, 0, 0, pixmap->colorspace, pixmap->seps); fz_write_band(ctx, writer, pixmap->stride, pixmap->h, pixmap->samples); } fz_always(ctx) { fz_drop_band_writer(ctx, writer); fz_drop_output(ctx, out); } fz_catch(ctx) fz_rethrow(ctx); }