Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.4.3
|
Leadtools.Controls Assembly > Leadtools.Controls Namespace > ImageViewer Class : AutoDisposeImages Property |
public virtual bool AutoDisposeImages {get; set;}
'Declaration
Public Overridable Property AutoDisposeImages As Boolean
When the value of the AutoDisposeImages is set to true, the image viewer will automatically call the RasterImage.Dispose method on an item's Image, SvgDocument and Floater when the item is removed from the Items collection or when the control itself is disposed.
The control will check if an image is used with multiple items (for example, if multiple items are using the same image but to show different pages). In this case, the control will correctly dispose the image only once.
If you setup the items with images that you do not want to dispose of and are going to re-use somewhere else, you need to set the value of the AutoDisposeImages property to false.
You can also temporarily change the value of the AutoDisposeImages property if you want to save the item image before you dispose it. For example, set the AutoDisposeImages property to false, call "Removed" on the Items collection to remove the item, then re-set the AutoDisposeImages property back to true.
Note that if you set the AutoDisposeImages value to false and you do not dispose the item images yourself, the .NET garbage collector will eventually detect that these images are not used anymore and will dispose them for you when the control and any other reference to these images are no longer used in your application. This is not recommended since the image data contains unmanaged memory and resources that are not returned to the system even though the owner object is no longer used.
For more information, refer to Image Viewer Items.
This example will show the effect of AutoDisposeImages.
Imports Leadtools Imports Leadtools.Controls Imports Leadtools.Codecs Imports Leadtools.Drawing Imports Leadtools.ImageProcessing Imports Leadtools.ImageProcessing.Color ' Make a copy of the image in viewer and save it Dim image2 As RasterImage = _imageViewer.Image ' Set a copy in the viewer, this is the image we will change here _imageViewer.AutoDisposeImages = False _imageViewer.Image = image2.Clone() _imageViewer.AutoDisposeImages = True
using Leadtools; using Leadtools.Controls; using Leadtools.Codecs; using Leadtools.Drawing; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Color; // Make a copy of the image in viewer and save it RasterImage image2 = _imageViewer.Image; // Set a copy in the viewer, this is the image we will change here _imageViewer.AutoDisposeImages = false; _imageViewer.Image = image2.Clone(); _imageViewer.AutoDisposeImages = true;