Indicates whether to auto dispose the old image when a new image is set into this RasterPictureBox.
public bool AutoDisposeImage { get; set; }
Public Property AutoDisposeImage() As Boolean
Get
Set
public:
property bool AutoDisposeImage
{
bool get()
void set(bool value)
}
true if the image in Image is automatically disposed when a new image is set; otherwise, false. Default value is true.
By default, whenever you set a new image into the Image property, the old image (if any) is disposed. Set the value of this property to false to prevent disposing of the old image.
using Leadtools;
using Leadtools.Controls;
using Leadtools.Codecs;
using Leadtools.Drawing;
using LeadtoolsExamples.Common;
public void RasterPictureBox_AutoDisposeImage()
{
RasterPictureBox viewer = new RasterPictureBox();
// Load two image2
RasterCodecs codecs = new RasterCodecs();
string file1 = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string file2 = Path.Combine(LEAD_VARS.ImagesDir, "Image2.cmp");
RasterImage image1 = codecs.Load(file1);
RasterImage image2 = codecs.Load(file2);
// Make sure the AutoDisposeImage property of the viewer is set to true
viewer.AutoDisposeImage = true;
// Set the first image into the viewer
viewer.Image = image1;
// Now set the second image into the viewer (this disposes the first image since the AutoDisposeImage property is true)
viewer.Image = image2;
// Try to access the first image, it generates a NullReferenceException exception since the image has been disposed
MessageBox.Show("Try to access the first image, it generates a NullReferenceException exception since the image has been disposed.");
try
{
int width = image1.Width;
MessageBox.Show(string.Format("Width is {0} pixels", width));
}
catch (NullReferenceException ex)
{
MessageBox.Show(ex.Message);
}
// Set the image to null (will dispose the second image as well)
viewer.Image = null;
// Now re-load the two images
image1 = codecs.Load(file1);
image2 = codecs.Load(file2);
// Make sure the AutoDisposeImage property of the viewer is set to false
viewer.AutoDisposeImage = false;
// Set the first image into the viewer
viewer.Image = image1;
// Now set the second image into the viewer (this will not disposes the first image since the AutoDisposeImage property is false)
viewer.Image = image2;
// Try to access the first image, it should work fine this time
try
{
int width = image1.Width;
MessageBox.Show(string.Format("Width is {0} pixels", width));
}
catch (NullReferenceException ex)
{
MessageBox.Show(ex.Message);
}
// Set the image to null (will not dispose the second image)
viewer.Image = null;
// We should now dispose the two images manually
image1.Dispose();
image2.Dispose();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Controls
Imports Leadtools.Codecs
Imports Leadtools.Drawing
Public Sub RasterPictureBox_AutoDisposeImage(ByVal viewer As RasterPictureBox)
' Load two image2
Dim codecs As RasterCodecs = New RasterCodecs()
Dim file1 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
Dim file2 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image2.cmp")
Dim image1 As RasterImage = codecs.Load(file1)
Dim image2 As RasterImage = codecs.Load(file2)
' Make sure the AutoDisposeImage property of the viewer is set to true
viewer.AutoDisposeImage = True
' Set the first image into the viewer
viewer.Image = image1
' Now set the second image into the viewer (this disposes the first image since the AutoDisposeImage property is true)
viewer.Image = image2
' Try to access the first image, it generates a NullReferenceException exception since the image has been disposed
MessageBox.Show("Try to access the first image, it generates a NullReferenceException exception since the image has been disposed.")
Try
Dim width As Integer = image1.Width
MessageBox.Show(String.Format("Width is {0} pixels", width))
Catch ex As NullReferenceException
MessageBox.Show(ex.Message)
End Try
' Set the image to null (will dispose the second image as well)
viewer.Image = Nothing
' Now re-load the two images
image1 = codecs.Load(file1)
image2 = codecs.Load(file2)
' Make sure the AutoDisposeImage property of the viewer is set to false
viewer.AutoDisposeImage = False
' Set the first image into the viewer
viewer.Image = image1
' Now set the second image into the viewer (this will not disposes the first image since the AutoDisposeImage property is false)
viewer.Image = image2
' Try to access the first image, it should work fine this time
Try
Dim width As Integer = image1.Width
MessageBox.Show(String.Format("Width is {0} pixels", width))
Catch ex As NullReferenceException
MessageBox.Show(ex.Message)
End Try
' Set the image to null (will not dispose the second image)
viewer.Image = Nothing
' We should now dispose the two images manually
image1.Dispose()
image2.Dispose()
codecs.Dispose()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
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
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.