The DZI (Deep Zoom Image) format is an XML specification maintained by Microsoft and described here.
OpenSeadragon supports the DZI format via AJAX (XML/JSON), JSONP, and as inline configuration (using the JSON format). The DZI specification does not officially describe a JSON format, but the examples below illustrate how DZI XML is mapped to JSON following some simple conventions.
The DZI format is implied by a tile source specified as a string
and which has the .dzi
extension. OpenSeadragon sniffs
for whether the DZI is formatted as XML or JSON.
Below is a sample DZI file formatted as XML.
<?xml version="1.0" encoding="UTF-8"?> <Image xmlns="http://schemas.microsoft.com/deepzoom/2008" Format="jpg" Overlap="2" TileSize="256" > <Size Height="9221" Width="7026"/> </Image>
And the equivalent sample DZI file formatted as JSON.
{ "Image": { "xmlns": "http://schemas.microsoft.com/deepzoom/2008", "Format": "jpg", "Overlap": "2", "TileSize": "256", "Size": { "Height": "9221", "Width": "7026" } } }
Configuration is done via the tileSources
option
(or programmatically).
OpenSeadragon({ ... tileSources: "/example-images/highsmith/highsmith.dzi", ... });
The DZI JSONP format is implied by a tile source specified as a string
and which has the .js
extension. The remainder of the
filename is expected to match the JSONP callback.
Below is a sample DZI file formatted as JSONP.
highsmith({ "Image": { "xmlns": "http://schemas.microsoft.com/deepzoom/2008", "Format": "jpg", "Overlap": "2", "TileSize": "256", "Size": { "Height": "9221", "Width": "7026" } } });
Configuration is done via the tileSources
option
(or programmatically).
OpenSeadragon({ ... tileSources: "/example-images/highsmith/highsmith.js", ... });
Inline configuration is convenient as well because it avoids a potentially
complicated JSON/XML AJAX request. Just drop the equivalent
JSON directly into the tileSources
option.
Configuration is done via the tileSources
option
(or programmatically).
Note however the non-standard DZI property url
which we
must supply explicitly, since this is normally inferred from the path
specified for the DZI XML/JSON/JSONP.
OpenSeadragon({ ... tileSources: { Image: { xmlns: "http://schemas.microsoft.com/deepzoom/2008", Url: "/example-images/highsmith/highsmith_files/", Format: "jpg", Overlap: "2", TileSize: "256", Size: { Height: "9221", Width: "7026" } } } ... });