Articles in this section
Category / Section

Why WPicture.Dispose() doesn't dispose the loaded picture in WinForms FileFormat Libraries ?

2 mins read

LiwIn our older versions of Essential studio (before 10.3.0.53) we have preserved System.Drawing.Image instance as a reference in WPicture and PictureWatermark. So it is necessary to dispose the System.Drawing.Image instance preserved in the WPicture object before deleting the image file. Whereas in later versions (from 10.3.0.53) we have optimized the main memory utilization by preserving single reference of an image for the entire document as image bytes instead of System.Drawing.Image instance. Kindly dispose the System.Drawing.Image instance explicitly before trying to delete the image file in later versions.

 

Below code snippets demonstrates how to delete the image file after setting it as picture watermark in Word documents.

C#:

PictureWatermark watermark = new PictureWatermark();
//Gets the image file
FileInfo imageFile = new FileInfo(imagePath);
//Loads image from file system
Image image = Image.FromFile(imagePath);
//Sets the image to the PictureWatermark
watermark.Picture = image;
document.Watermark = watermark;
//Dispose the image
image.Dispose();
//Delete the image file
imageFile.Delete();

 

VB:

Dim watermark As New PictureWatermark()
‘Gets the image file
Dim imageFile As New FileInfo(imagePath)
‘Loads image from file system
Dim image As Image = Image.FromFile(imagePath)
‘Sets the image to the PictureWatermark
watermark.Picture = image
document.Watermark = watermark
‘Dispose the image
image.Dispose()
‘Delete the image file
imageFile.Delete();

 

Below code snippets demonstrates how to delete the image file after loading it as picture in Word documents.

C#:

//Gets image file
FileInfo imageFile = new FileInfo(imagePath);
//Loads image from file system
Image image = Image.FromFile(imagePath);
//Appends picture to the paragraph
IWPicture picture = paragraph.AppendPicture(image);
//Dispose the image
image.Dispose();
//Delete the image file
imageFile.Delete();

 

VB:

Dim watermark As New PictureWatermark()
‘Get image file
Dim imageFile As New FileInfo(imagePath)
‘Loads image from file system
Dim image As Image = Image.FromFile(imagePath)
‘Appends picture to the paragraph
Dim picture As IWPicture = paragraph.AppendPicture(image);
‘Dispose the image
image.Dispose()
‘Delete the image file
imageFile.Delete();

 

Conclusion

I hope you enjoyed learning about why WPicture.Dispose() doesn't dispose the loaded picture in WinForms FileFormat Libraries.

You can refer to our WinForms FileFormat Libraries featuretour page to know about its other groundbreaking feature representations and documentation, and how to quickly get started for configuration specifications. You can also explore our WinForms controls example to understand how to create and manipulate data.

For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.

If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forumsDirect-Trac, or feedback portal. We are always happy to assist you!

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied