From a644f7e67af05dca8601e379442690c724030738 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Tue, 1 Aug 2017 14:11:01 +0200 Subject: Add common fz_write_image_as_data_uri function for HTML and SVG output. Also ensure we don't write CMYK JPEG images. --- source/fitz/svg-device.c | 30 ++---------------------------- 1 file changed, 2 insertions(+), 28 deletions(-) (limited to 'source/fitz/svg-device.c') diff --git a/source/fitz/svg-device.c b/source/fitz/svg-device.c index 4279761c..7098e0a0 100644 --- a/source/fitz/svg-device.c +++ b/source/fitz/svg-device.c @@ -828,7 +828,6 @@ static void svg_send_image(fz_context *ctx, svg_device *sdev, fz_image *img, const fz_color_params *color_params) { fz_output *out = sdev->out; - fz_compressed_buffer *buffer; int i; int id; @@ -859,33 +858,8 @@ svg_send_image(fz_context *ctx, svg_device *sdev, fz_image *img, const fz_color_ fz_write_printf(ctx, out, "\n", id, img->w, img->h); } - fz_write_printf(ctx, out, "w, img->h); - switch (buffer == NULL ? FZ_IMAGE_JPX : buffer->params.type) - { - case FZ_IMAGE_PNG: - fz_write_printf(ctx, out, "image/png;base64,"); - fz_write_base64_buffer(ctx, out, buffer->buffer, 1); - break; - case FZ_IMAGE_JPEG: - /* SVG cannot cope with CMYK images */ - if (img->colorspace != fz_device_cmyk(ctx)) - { - fz_write_printf(ctx, out, "image/jpeg;base64,"); - fz_write_base64_buffer(ctx, out, buffer->buffer, 1); - break; - } - /*@fallthough@*/ - default: - { - fz_buffer *buf = fz_new_buffer_from_image_as_png(ctx, img, color_params); - fz_write_printf(ctx, out, "image/png;base64,"); - fz_write_base64_buffer(ctx, out, buf, 1); - fz_drop_buffer(ctx, buf); - break; - } - } + fz_write_printf(ctx, out, "w, img->h); + fz_write_image_as_data_uri(ctx, out, img); fz_write_printf(ctx, out, "\"/>\n"); if (sdev->reuse_images) -- cgit v1.2.3