Skip to content

Latest commit

 

History

History
31 lines (21 loc) · 1.52 KB

README.md

File metadata and controls

31 lines (21 loc) · 1.52 KB

Icon

Zif.Reader

C# library to read ZIF files and extract images.

ZIF files are single-file zoomable images. They contain discrete levels of zoom magnification, in which each level is made up of a number of smaller JPEG tiles. Here's a (dated) Microsoft article about this kind of zoomable image, and a page with the specs.

The ZifReader class will open a ZIF file on disk, or via a Stream or byte[]. You can then examine the metadata which describes the different tiles and levels, and you can extract individual tiles or completely assembled levels.

Here's a quick demonstration of usage:

using (var zif = new ZifReader())
{
    zif.Load("filename.zif");

    int numberOfLevels = zif.ZoomLevels.Count;
    var smallestLevel = zif.ZoomLevels[0];
    var biggestLevel = zif.ZoomLevels.Last();

    int numberOfTiles = biggestLevel.TileCount;
    var upperLeftTile = biggestLevel.GetTileJpeg(0, 0);

    var entireImageForLevel = biggestLevel.GetImage();
    var biggestImage = zif.GetImage(numberOfLevels - 1);   // Same as entireImageForLevel
    biggestImage.Save("new_filename.png", ImageFormat.Png);
}

This project is indebted to Ophir LOJKINE for his Dezoomify project, and also for the work he did in making a JavaScript parser for ZIF.