I want to add images in a panel. Each image size is 5 to 6 MB. If I add more than 35 images then it shows error that "Out of Memory". This exceptions occur when Image.FromFile(string) is executed. If less than 35 images is loaded then no error shows.
if (DialogResult.OK == ofdLoadFromHDD.ShowDialog())
{
string[] strArray = ofdLoadFromHDD.FileNames;
int count = strArray.Count();
DynamicGroupBox objDGB = new DynamicGroupBox(scrolledValue);
GroupBox gB = new GroupBox();
try
{
for (int i = 0; i < count; i++)
{
Bitmap bmp = (Bitmap)Image.FromFile(strArray[i]);
Probably what is happening is that they are 5-6 MB JPEG files (compressed representation on disk) which are expanded to high-resolution Bitmaps (uncompressed internal representation). You should open them and immediately re-scale them (before opening the next one), see this post: http://www.peterprovost.org/blog/pos...mage-in-C.aspx
Best Regards,
BioPhysEngr http://blog.biophysengr.net
--
All advice is offered in good faith only. You are ultimately responsible for effects of your programs and the integrity of the machines they run on.
Bookmarks