Dzi Viewer using CPP

I am looking for a Deep Zoom Image (DZI) viewer in CPP. Currently, we have a viewer designed in javascript (Open Seadragon), java, and C# for the dzi images. I am looking for the open-source viewer that can be integrated in my CPP application.

1 answer

  • answered 2019-11-21 08:37 jcupitt

    I made a tiny example program that displays a libvips image in a window:

    https://github.com/libvips/vipsdisp-tiny

    It's about 300 lines for the entire thing. It uses gtk+3, but it should be simple to adapt for other toolkits.

    The cool thing is that it doesn't just display an image, it displays the end of a libvips pipeline, and it does it asynchronously. You can scroll around the image and the display will be updated in the background by a threadpool as chunks of the image are computed.

    For your application, you could use vips_arrayjoin() to join up the tiles of the DZI image, then display the output of arrayjoin in the window.

    There's a more complete image viewer here:

    https://github.com/jcupitt/vipsdisp

    Though I still haven't got around to finishing it, unfortunately.