Occurs when an error happens when the viewer tries to update the item image data.
Object.defineProperty(ImageViewer.prototype,'itemError',get: function(),set: function(value))
itemError: LeadEvent; An error might occur if the image viewer is updating the image data of any of the items asynchronously or outside direct user programmatic interaction (such as during the drop part of a drag/drop operation). These operations do not occur from the user code (drop) or occur at a later time after they have been initiated (loading images asynchronously), therefore, the user must attach a handler to the ItemError event to be able to handle these errors.
When value of ImageViewerItem.Url is set to a new value, the image viewer will create a new HTML image
element and use it to load the image data asynchronously using load and error events. This can be trigger by any of the following:
ImageViewerItems.AddFromUrl is called
ImageViewerItems.InsertFromUrl is called
ImageViewerItems.UpdateUrl is called
ImageViewerItem.Url is set to a new value
ImageViewer.ImageUrl is set to a new value
If an error occurs, it fires the ItemError event will fire with the following values set in ImageViewerItemErrorEventArgs:
| Member | Value |
|---|---|
|
The item that triggered the error |
|
|
Set to null |
|
|
The error object |
|
|
Set to true to automatically remove this item if it did not have previous data. |
When an image or file system item is dragged and dropped over the viewer and AllowDrop was set true, the viewer will try to automatically update or add a new item and load the new image data into it. An error might occur at this point and if so, the ItemError event will fire with the following values set in ImageViewerItemErrorEventArgs:
| Member | Value |
|---|---|
|
The item that triggered the error |
|
|
Set to the instance of ImageViewerItemDragDropEventArgs being used. |
|
|
The error object |
|
|
Set to true to automatically remove this item if it did not have previous data. |
import { ImageViewer_Example } from "../ImageViewer";export class ImageViewer_ItemChangedExample {private viewerExample;constructor() {this.viewerExample = new ImageViewer_Example(this.run);}private run = (viewer: lt.Controls.ImageViewer) => {viewer.itemBorderThickness = 5;viewer.viewLayout = new lt.Controls.ImageViewerVerticalViewLayout();const itemChangeReasons: string[] = ["size", "transform", "enabled", "selected", "hovered","text", "url", "drop", "drag", "image", "imageChanged", "floater","floaterTransform", "backImageUrl", "backImage"];// Clear the items and add new itemsviewer.beginUpdate();viewer.items.clear();for (let i = 0; i < 2; i++) {const item: lt.Controls.ImageViewerItem = new lt.Controls.ImageViewerItem();item.url = "https://demo.leadtools.com/images/jpeg/cannon.jpg";item.text = "Item " + i;viewer.items.add(item);}viewer.endUpdate();const output = document.getElementById("output");viewer.itemChanged.add((sender, e) => {let item = e.item;const lines: string[] = ["Item Changed: " + viewer.items.indexOf(item),"Reason: " + itemChangeReasons[e.reason],"Item Text: " + item.text,"Url: " + item.url,];output.innerHTML = lines.map((line) => { return "<p>" + line + "</p>" }).join("") + "<hr />" + output.innerHTML;});viewer.itemError.add((sender, e) => {const item: lt.Controls.ImageViewerItem = e.item;const lines: string[] = ["Item Errored: " + viewer.items.indexOf(item),"Reason: " + itemChangeReasons[e.reason],"Url: " + item.url,];output.innerHTML = lines.map((line) => { return "<p style='color: red;'>" + line + "</p>" }).join("") + "<hr />" + output.innerHTML;});// After a second, changesetTimeout(() => {// Set a new valid URL and change the text (two different changes)const item0: lt.Controls.ImageViewerItem = viewer.items.item(0);item0.url = "https://demo.leadtools.com/images/png/pngimage.png";item0.text = "Item 0 Text Changed";// Set an invalid URLconst item1: lt.Controls.ImageViewerItem = viewer.items.item(1);item1.url = "https://demo.leadtools.com/thisisnotavalidimage.png";}, 1000);}}
export class ImageViewer_Example {// LEADTOOLS ImageViewer to be used with this exampleprotected imageViewer: lt.Controls.ImageViewer = null;// Generic state value used by the examplespublic timesClicked: number = 0;constructor(callback?: (viewer: lt.Controls.ImageViewer) => void) {// Set the LEADTOOLS license. Replace this with your actual license filelt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", null);// Create an image viewer inside the imageViewerDiv elementconst imageViewerDiv = document.getElementById("imageViewerDiv");const createOptions: lt.Controls.ImageViewerCreateOptions = new lt.Controls.ImageViewerCreateOptions(imageViewerDiv);this.imageViewer = new lt.Controls.ImageViewer(createOptions);this.imageViewer.viewVerticalAlignment = lt.Controls.ControlAlignment.center;this.imageViewer.viewHorizontalAlignment = lt.Controls.ControlAlignment.center;this.imageViewer.autoCreateCanvas = true;// Add Pan/Zoom interactive mode// Click and drag to pan, CTRL-Click and drag to zoom in and outthis.imageViewer.interactiveModes.add(new lt.Controls.ImageViewerPanZoomInteractiveMode());// Load an imagethis.imageViewer.imageUrl = "https://demo.leadtools.com/images/jpeg/cannon.jpg";this.imageViewer.zoom(lt.Controls.ControlSizeMode.fit, .9, this.imageViewer.defaultZoomOrigin);const exampleButton = document.getElementById("exampleButton");exampleButton.addEventListener("click", () => {this.timesClicked++;// Run the exampleif (callback)callback(this.imageViewer);});}}
import { ImageViewer_Example } from "../ImageViewer";export class ImageViewer_ItemChangedExample {viewerExample;constructor() {this.viewerExample = new ImageViewer_Example(this.run);}run = (viewer) => {viewer.itemBorderThickness = 5;viewer.viewLayout = new lt.Controls.ImageViewerVerticalViewLayout();const itemChangeReasons = ["size", "transform", "enabled", "selected", "hovered","text", "url", "drop", "drag", "image", "imageChanged", "floater","floaterTransform", "backImageUrl", "backImage"];// Clear the items and add new itemsviewer.beginUpdate();viewer.items.clear();for (let i = 0; i < 2; i++) {const item = new lt.Controls.ImageViewerItem();item.url = "https://demo.leadtools.com/images/jpeg/cannon.jpg";item.text = "Item " + i;viewer.items.add(item);}viewer.endUpdate();const output = document.getElementById("output");viewer.itemChanged.add((sender, e) => {let item = e.item;const lines = ["Item Changed: " + viewer.items.indexOf(item),"Reason: " + itemChangeReasons[e.reason],"Item Text: " + item.text,"Url: " + item.url,];output.innerHTML = lines.map((line) => { return "<p>" + line + "</p>" }).join("") + "<hr />" + output.innerHTML;});viewer.itemError.add((sender, e) => {const item = e.item;const lines = ["Item Errored: " + viewer.items.indexOf(item),"Reason: " + itemChangeReasons[e.reason],"Url: " + item.url,];output.innerHTML = lines.map((line) => { return "<p style='color: red;'>" + line + "</p>" }).join("") + "<hr />" + output.innerHTML;});// After a second, changesetTimeout(() => {// Set a new valid URL and change the text (two different changes)const item0 = viewer.items.item(0);item0.url = "https://demo.leadtools.com/images/png/pngimage.png";item0.text = "Item 0 Text Changed";// Set an invalid URLconst item1 = viewer.items.item(1);item1.url = "https://demo.leadtools.com/thisisnotavalidimage.png";}, 1000);}}
export class ImageViewer_Example {// LEADTOOLS ImageViewer to be used with this exampleimageViewer = null;// Generic state value used by the examplestimesClicked = 0;constructor(callback) {// Set the LEADTOOLS license. Replace this with your actual license filelt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", null);// Create an image viewer inside the imageViewerDiv elementconst imageViewerDiv = document.getElementById("imageViewerDiv");const createOptions = new lt.Controls.ImageViewerCreateOptions(imageViewerDiv);this.imageViewer = new lt.Controls.ImageViewer(createOptions);this.imageViewer.viewVerticalAlignment = lt.Controls.ControlAlignment.center;this.imageViewer.viewHorizontalAlignment = lt.Controls.ControlAlignment.center;this.imageViewer.autoCreateCanvas = true;// Add Pan/Zoom interactive mode// Click and drag to pan, CTRL-Click and drag to zoom in and outthis.imageViewer.interactiveModes.add(new lt.Controls.ImageViewerPanZoomInteractiveMode());// Load an imagethis.imageViewer.imageUrl = "https://demo.leadtools.com/images/jpeg/cannon.jpg";this.imageViewer.zoom(lt.Controls.ControlSizeMode.fit, .9, this.imageViewer.defaultZoomOrigin);const exampleButton = document.getElementById("exampleButton");exampleButton.addEventListener("click", () => {this.timesClicked++;// Run the exampleif (callback)callback(this.imageViewer);});}}
<!doctype html><html lang="en"><title>Controls Example | ItemChanged</title><head><script src="https://code.jquery.com/jquery-2.2.4.min.js"integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script><script src="../../LT/Leadtools.js"></script><script src="../../LT/Leadtools.Controls.js"></script><script src="../../LT/Leadtools.Annotations.Engine.js"></script><script src="../../LT/Leadtools.Annotations.Designers.js"></script><script src="../../LT/Leadtools.Annotations.Rendering.Javascript.js"></script><script src="../../LT/Leadtools.Annotations.Automation.js"></script><script src="../../LT/Leadtools.ImageProcessing.Main.js"></script><script src="../../LT/Leadtools.ImageProcessing.Color.js"></script><script src="../../LT/Leadtools.ImageProcessing.Core.js"></script><script src="../../LT/Leadtools.ImageProcessing.Effects.js"></script><script src="../../LT/Leadtools.Document.js"></script><script src="../../LT/Leadtools.Document.Viewer.js"></script><style>body {font-family: 'Segoe UI', sans-serif;}#imageViewerDiv {border: 1px solid #888;width: 500px;height: 500px;background-color: #eee;}</style><!-- All demo files are bundled and appended to the window --><script src="../../bundle.js" type="text/javascript"></script></head><body><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><div><button type="button" id="exampleButton">Run Example</button></div><div id="imageViewerDiv"></div><div id="output"></div></body><script>window.onload = () => {const example = new window.examples.ImageViewer.ItemChanged();};</script></html>
| Parameter | Type | Description |
|---|---|---|
| sender | var | The source of the event. |
| e | ImageViewerItemErrorEventArgs | The event data. |
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
