1

When loading the image with the nuget package, (FreeImage 3.18.0.0) it does not unload memory even if '''dib.SetNull()''' was set.

var dib = FreeImage.Load(FREE_IMAGE_FORMAT.FIF_PNG, pngFile.FullName,
FREE_IMAGE_LOAD_FLAGS.DEFAULT);
FreeImage.Save(FREE_IMAGE_FORMAT.FIF_JP2, dib, jpgFile.FullName, FREE_IMAGE_SAVE_FLAGS.JPEG_OPTIMIZE);
dib.SetNull();
Tib Schott
  • 94
  • 1
  • 9

1 Answers1

2

FreeImage has additional copy of image you need to unload. FreeImage_Load Memory Leak

try: FreeImage.Unload(dib);

var dib = FreeImage.Load(FREE_IMAGE_FORMAT.FIF_PNG, pngFile.FullName,
FREE_IMAGE_LOAD_FLAGS.DEFAULT);
FreeImage.Save(FREE_IMAGE_FORMAT.FIF_JP2, dib, jpgFile.FullName, FREE_IMAGE_SAVE_FLAGS.JPEG_OPTIMIZE);
FreeImage.Unload(dib);
dib.SetNull();
Nasenbaer
  • 4,810
  • 11
  • 53
  • 86