typedef struct fz_band_writer fz_band_writer
A band writer is used to write image files incrementally. This is typically used when there isn’t enough memory to hold the full image at once; for example when rendering a high resolution page in bands.
void
fz_write_header (
fz_context *ctx,
fz_band_writer *writer,
int w,
int h,
int n,
int alpha,
int xres,
int yres,
int pagenum,
fz_colorspace *cs,
fz_separations *seps
)
Cause a band writer to write the header for a banded image with the given properties/dimensions etc. This also configures the bandwriter for the format of the data to be passed in future calls.
void
fz_write_band (
fz_context *ctx,
fz_band_writer *writer,
int stride,
int band_height,
const unsigned char *samples
)
Cause a band writer to write the next band of data for an image.
void
fz_close_band_writer (
fz_context *ctx,
fz_band_writer *writer
)
Finishes up the output and closes the band writer. After this call no more headers or bands may be written.
void
fz_drop_band_writer (
fz_context *ctx,
fz_band_writer *writer
)
Drop the reference to the band writer, causing it to be destroyed.
Never throws an exception.
Subject to change.
typedef void (fz_write_header_fn)(
fz_context *ctx,
fz_band_writer *writer,
fz_colorspace *cs
)
typedef void (fz_write_band_fn)(
fz_context *ctx,
fz_band_writer *writer,
int stride,
int band_start,
int band_height,
const unsigned char *samples
)
typedef void (fz_write_trailer_fn)(fz_context *ctx, fz_band_writer *writer)
typedef void (fz_close_band_writer_fn)(fz_context *ctx, fz_band_writer *writer)
typedef void (fz_drop_band_writer_fn)(fz_context *ctx, fz_band_writer *writer)
struct fz_band_writer
{
fz_drop_band_writer_fn *drop;
fz_close_band_writer_fn *close;
fz_write_header_fn *header;
fz_write_band_fn *band;
fz_write_trailer_fn *trailer;
fz_output *out;
int w;
int h;
int n;
int s;
int alpha;
int xres;
int yres;
int pagenum;
int line;
fz_separations *seps;
}
fz_band_writer *
fz_new_band_writer_of_size (
fz_context *ctx,
size_t size,
fz_output *out
)
#define fz_new_band_writer(C,M,O)