January 24th, 2010, 07:16 AM
My app jams
I have just wrote my first app in WPF (actually it is my first windows app). It is an image resizer which converts pictures correctly but it jams when I load large number of images (The window freezes and I cant move it).
I have a list of strings where each item represents location of the image. Then I run the following loop:
foreach (string file in fileCollection)
FileInfo fInfo = new FileInfo(file);
Image tempImg2 = Image.FromFile(fInfo.FullName);
string imgName = fInfo.Name.Substring(0, fInfo.Name.Length - 4);
if (isOriginalSize == true)
finalImage = tempImg2;
finalImage = tempImg2.GetThumbnailImage(imageWidth, imageHeight, null, IntPtr.Zero);
Bitmap bmp1 = new Bitmap(finalImage);
ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);
System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality;
EncoderParameters myEncoderParameters = new EncoderParameters(1);
EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, imgQualityValue);
myEncoderParameters.Param = myEncoderParameter;
bmp1.Save(@ofd_out.SelectedPath + "\\" + imgName + outputFormat, jpgEncoder, myEncoderParameters);
What can I do to improve performance of my program? Should I use threading or something else?
January 25th, 2010, 12:28 AM
Re: My app jams
Yes, I'd create a class that does the loading/conversion in a different thread and then use events to notify the main UI thread of the conversion progress.
January 25th, 2010, 04:21 AM
Click Here to Expand Forum to Full Width