<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>DeepZoomImage Doctests</title> <link rel="stylesheet" href="../../3rdparty/highlight/styles/default.css" /> <link rel="stylesheet" href="../../../css/doctest.css" /> <script src="../../3rdparty/highlight/highlight.pack.js"></script> <script src="../../../dist/iwmlib.3rdparty.js"></script> <script src="../../../dist/iwmlib.js"></script> <script src="../../../dist/iwmlib.pixi.js"></script> <style> #app { display: table; margin: 0 auto; } #app > * { margin-bottom: 5px; } </style> </head> <body onload="Doctest.run()"> <h1> <a href="../../index.html">lib.</a><a href="../index.html">pixi.</a><a href="index.html">deepzoom.</a> DeepZoom </h1> <p> The main class of a deeply zoomable image that is represented by a hierarchy of tile layers for each zoom level. This gives the user the impression that even huge pictures (up to gigapixel-images) can be zoomed instantaneously, since the tiles at smaller levels are scaled immediately and overloaded by more detailed tiles at the larger level as fast as possible. </p> <br /> <div id="div1" style="float: left"></div> <div id="div2" style="float: right"></div> <div style="clear: left; margin-top: 540px" /> <script class="doctest"> // deepZoom //-------------------- const deepZoomInfo = new DeepZoomInfo({ tileSize: 128, format: 'jpg', overlap: 0, type: 'map', height: 4096, width: 4096, path: '../assets/maps/test', urlTileTemplate: '{path}/{level}/{column}/{row}.{format}' }) // const deepZoomInfo = new DeepZoomInfo({ // compression: [ // "dds" // ], // clip: { // minLevel: 12, // maxLevel: 20, // startCol: 275215, // startRow: 181050, // bounds: { // min: [48.458353, 8.96484374976547], // max: [48.5747899110263, 9.14062499976523] // } // }, // tileSize: 512, // format: "png", // overlap: 0, // type: "map", // height: 131072, // width: 131072, // path: "../../../var/tuesch/luftbild_2016_full", // urlTileTemplate: "{path}/{level}/{row}/{column}.{format}" // }) // app //-------------------- window.app = new PIXIApp({ width: 400, height: 500, backgroundColor: 0xffcccccc }) .setup() .run() div1.appendChild(app.view) // create the ScatterContainer //-------------------- const scatterContainer1 = new ScatterContainer(app.renderer, { showBounds: true, app: app }) app.scene.addChild(scatterContainer1) // Create the DeepZoomImage //-------------------- setTimeout(() => { const deepZoomImage1 = new DeepZoomImage(deepZoomInfo, { app, world: scatterContainer1 }) deepZoomImage1.scatter = new DisplayObjectScatter(deepZoomImage1, app.renderer, { minScale: 0, maxScale: 50, onTransform: (event) => { //console.log('currentLevel', deepZoomImage1.currentLevel) deepZoomImage1.transformed(event) } }) scatterContainer1.addChild(deepZoomImage1) }, 1000) // app2 //-------------------- const app2 = new PIXIApp({ width: 400, height: 500, backgroundColor: 0xffcccccc }) .setup() .run() div2.appendChild(app2.view) // create the ScatterContainer //-------------------- const scatterContainer2 = new ScatterContainer(app2.renderer, { showBounds: true, app: app2 }) app2.scene.addChild(scatterContainer2) // Create the DeepZoomImage //-------------------- const deepZoomImage2 = new DeepZoomImage(deepZoomInfo, { app: app2 }) deepZoomImage2.scatter = new DisplayObjectScatter(deepZoomImage2, app2.renderer, { minScale: 0, maxScale: 100, onTransform: (event) => { deepZoomImage2.transformed(event) } }) scatterContainer2.addChild(deepZoomImage2) </script> <h1>DeepZoomImage in DeepZoomImage</h1> <p> The main class of a deeply zoomable image that is represented by a hierarchy of tile layers for each zoom level. This gives the user the impression that even huge pictures (up to gigapixel-images) can be zoomed instantaneously, since the tiles at smaller levels are scaled immediately and overloaded by more detailed tiles at the larger level as fast as possible. </p> <br /> <div id="div3"></div> <script class="doctest"> // app3 //-------------------- const app3 = new PIXIApp({ width: 900, height: 500, backgroundColor: 0xffcccccc }) .setup() .run() window.app3 = app3 div3.appendChild(app3.view) // create the ScatterContainer //-------------------- const scatterContainer3 = new ScatterContainer(app3.renderer, { app: app3, showBounds: true, claimEvent: false, stopEvents: false }) app3.scene.addChild(scatterContainer3) // Create the DeepZoomImage //-------------------- const deepZoomImage3 = new DeepZoomImage(deepZoomInfo, { app: app3 }) deepZoomImage3.scatter = new DisplayObjectScatter(deepZoomImage3, app3.renderer, { minScale: 0, maxScale: 100, startScale: 2, autoBringToFront: false, onTransform: (event) => { deepZoomImage3.transformed(event) } }) app3._deepZoomImage3 = deepZoomImage3 scatterContainer3.addChild(deepZoomImage3) // Create the second DeepZoomImage //-------------------- const border = new PIXI.Graphics() border.beginFill(0x282828, 1) border.drawRect(0, 0, 264, 244) scatterContainer3.addChild(border) const mask = new PIXI.Graphics() mask.beginFill(0x282828, 1) mask.drawRect(0, 0, 260, 240) scatterContainer3.addChild(mask) const deepZoomImage4 = new DeepZoomImage(deepZoomInfo, { app: app3 }) deepZoomImage4.x = 4 deepZoomImage4.y = 4 deepZoomImage4.scatter = new DisplayObjectScatter(deepZoomImage4, app3.renderer, { minScale: 0, maxScale: 100, onTransform: (event) => { deepZoomImage4.transformed(event) } }) deepZoomImage4.mask = mask app3._deepZoomImage4 = deepZoomImage4 scatterContainer3.addChild(deepZoomImage4) </script> </body> </html>