Document Solutions Image Viewer
Document Solutions Image Viewer (DsImageViewer) is a fast
modern JavaScript based image viewer and editor that runs in all major browsers.
The viewer can be used as a cross platform solution to view or modify images
on Windows, MAC, Linux, iOS and Android devices.
DsImageViewer is included in
Document Solutions for Imaging (DsImaging),
a feature-rich cross-platform Image API library for .NET.
DsImageViewer provides a rich client side JavaScript object model,
see docs/index.html for the client API documentation.
Product highlights:
- Works in all modern browsers including IE11, Edge, Chrome, FireFox, Opera, Safari.
- Works with pure JavaScript and frameworks such as Angular, Vue, ASP.NET Core, ASP.NET MVC, HTML5, React and Preact.
- Allows you to extend the viewer behavior and add new functionality using plug-ins.
- Provides a client API for creating and modifying image data.
- Supports raster image formats JPEG, PNG, WEBP, TIFF, GIF, BMP, ICO, and vector SVG format.
- ...and more.
See it in action
- Go to Document Solutions Image Viewer demos
to explore the various features of DsImageViewer.
The demo site allows you to modify the demo code and immediately see the effect of your changes.
- The Document Solutions for Imaging demos
can optionally use DsImageViewer to show the sample images
(to opt in or out of using DsImageViewer, click the blue "i(nformation)" icon
in the top right corner of the image preview panel).
Latest changes
Important note
The @mescius/dsimageviewer package replaces @grapecity/gcimageviewer, and provides the same functionality, ensures future enhancements, and is backwards compatible with @grapecity/gcimageviewer. Existing licenses will continue to work with DsImageViewer.
[7.2.3] - 09-Oct-2024
Changed
[7.2.1] - 28-Aug-2024
Fixed
- An error message is shown when opening certain ICO images. (DOC-6428)
- Unable to set frameIndex before ICO image fully loads. (DOC-6462)
- [API Docs] The "effectsTools" is missing. (DOC-6339)
[7.2.0] - 07-Aug-2024
Added
- [PaintTools] Added blur/pixelate tool. (DOC-5661)
- [PaintTools] Added the ability to select the entire image using Ctrl+A.
- [PaintTools] Added "Effects" toolbar.
- [PaintTools] Added the ability to save the current state of a modified image without applying changes and without closing the paint toolbar.
- [PaintTools] [Effects] Added the ability to resize rectangular and elliptical selections.
- Added new toolbar item "navigation-auto": displays the navigation panel only if the loaded image has more than one frame, such as a GIF or TIFF.
- Added localization support.
Changed
- Page Tools icon updated.
- The default toolbar layout updated: the "$navigation" item replaced by "navigation-auto".
- Paint/Text tools enhancements:
- Selection tool no longer resets after selecting an area.
- "Apply/Cancel" buttons moved to the beginning of the toolbar.
- Items in the second toolbar are now aligned to the left instead of center.
- Confirmation messages, tooltips and labels updated.
See CHANGELOG.md for previous release notes.
Installing and using the viewer
Installing from npmjs:
npm install @mescius/dsimageviewer
Installing from the zip archive:
The following viewer distribution files are located in the zip archive:
build/README.md
(this file)build/CHANGELOG.md
build/index.html
build/dsimageviewer.js
build/plugins/
(optional) Pluginsbuild/themes/
(optional) Theme filesbuild/typings/
(optional) Type definitions
Copy those files to an appropriate location accessible from the web page where the viewer will live,
e.g. if the files are put in the directory where the web page is, the following HTML can be used to show the viewer:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="theme-color" content="#000000" />
<title>Document Solutions Image Viewer Demo</title>
<script src="dsimageviewer.js"></script>
<script src="plugins/rotation.js"></script>
<script>
function loadImageViewer(selector) {
var viewer = new DsImageViewer(selector);
viewer.addPlugin(new RotationPlugin());
}
</script>
</head>
<body onload="loadImageViewer('#root')">
<div id="root"></div>
</body>
</html>
The End.