ImageViewer Object


Represents a scrollable control that displays one or more raster or SVG images and provides optional interactive UI operations.


JavaScript Syntax
function lt.Controls.ImageViewer 
	implements IDisposable 
TypeScript Syntax
class lt.Controls.ImageViewer() 
	implements IDisposable 


The LEADTOOLS ImageViewer class represents a control that displays one or more images and provides optional interactive UI operations. It can be used in single item applications like MS-Paint or multiple item applications like Adobe Acrobat.

  1. LEADTOOLS Main Demo uses an Image Viewer instance in single layout mode to view the main image

  2. LEADTOOLS Document Viewer Demo uses an Image Viewer instance in vertical layout to view thumbnails of pages

  3. And another Image Viewer instance with in double layout to view the main content

The ImageViewer class provides the following features:

  • Single or multiple items each with its own image data, size, and optional additional transformation

  • Built-in support to load raster images, SVG images, and documents, including directly loading remote URLs

  • Extensible layout system with built-in support for single, vertical and horizontal layouts

  • Rich, fully customizable and extensible user-interface that provides rich interactive tools such as pan, zoom, magnify glass, rubber band, and many more

  • Supports user input from both mouse and touch

  • Fully customizable appearance and position

  • Auto and custom scroll modes

  • Owner draw rendering

  • Viewing options include infinite zooming with size modes (fit, fit page, etc.), rotation at any angle, flip, reverse, color inversion, and low level transformation

  • High level item operations for hit-testing and to automatically go to a specific item or page

  • Drag and drop between the image viewer and external sources such as the file system or other image viewers instances

  • Provides floater image and region of interest functionality

  • Resample and scale-to-gray display interpolation

Refer to the following topics for more in-depth information on each group of features:


This example will create an ImageViewer, set the interactive mode to Pan/Zoom, and add an image to the viewer.

JavaScript Example
<!DOCTYPE html> 
   <title>Leadtools Examples</title> 
   <meta http-equiv="X-UA-Compatible" content="IE=9" /> 
   <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
   <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0" /> 
   <meta name="apple-mobile-web-app-capable" content="yes" /> 
   <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> 
      #imageViewerDiv { 
         border: 1px solid #000000; 
         width: 400px; 
         height: 400px; 
         background-color: #7F7F7F; 
   <script type="text/javascript" src="libs/Leadtools.js"></script> 
   <script type="text/javascript" src="libs/Leadtools.Controls.js"></script> 
   <script type="text/javascript"> 
      (function () { 
         DefaultPage = function DefaultPage() { 
         DefaultPage.prototype = { 
            // LEADTOOLS ImageViewer to be used with this example 
            _imageViewer: null, 
            // Generic state value used by the examples 
            _firstCall: true, 
            example: function () { 
               // TODO: add example code here 
               alert("example code goes here"); 
            run: function () { 
               // Create an image viewer inside the imageViewerDiv element 
               var imageViewerDiv = document.getElementById("imageViewerDiv"); 
               var createOptions = new lt.Controls.ImageViewerCreateOptions(imageViewerDiv); 
               this._imageViewer = new lt.Controls.ImageViewer(createOptions); 
               this._imageViewer.autoCreateCanvas = true; 
               // Add Pan/Zoom interactive mode 
               // Click and drag to pan, CTRL-Click and drag to zoom in and out 
               this._imageViewer.defaultInteractiveMode = new lt.Controls.ImageViewerPanZoomInteractiveMode(); 
               // Load an image 
               this._imageViewer.imageUrl = ""; 
               this._firstCall = true; 
               var _this = this; 
               exampleButton.addEventListener("click", function (e) { 
               }, false); 
            dispose: function () { 
               // Clean up code goes here 
         var page = null; 
         var windowLoad = null; 
         var windowUnload = null; 
         windowLoad = function (e) { 
            window.removeEventListener("load", windowLoad, false); 
            page = new DefaultPage(); 
            window.addEventListener("unload", windowUnload, false); 
         windowUnload = function (e) { 
            window.removeEventListener("unload", windowUnload, false); 
         window.addEventListener("load", windowLoad, false); 
   <p>Press and drag on the image to pan</p> 
   <p>Hold down the control key and press and drag on the image or pinch with two fingers to zoom in and out</p> 
   <canvas id="myCanvas" width="200" height="200"></canvas> 
      <select id="combo" /> 
      <input type="button" id="exampleButton" value="Example" /> 
      <label id="infoLabel" /> 
   <div id="imageViewerDiv" /> 


Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Controls Assembly