リストに約60枚の写真をロードしようとしています。各画像は約1MBです。20枚の写真では問題ありませんが、それを超えると、以下のコード行でメモリ不足の例外が発生します。キーワードとストリームの「使用」について言及しているものもありましたが、私は初心者なので、誰か助けてください。
Image image = Bitmap.FromFile(Filename);
これが私のコードです
private void LoadBtn_Click_1(object sender, EventArgs e)
{
OpenFileDialog newDialog = new OpenFileDialog();
if (newDialog.ShowDialog() == DialogResult.OK)
{
images.Clear();
string dirPath = System.IO.Path.GetDirectoryName(newDialog.FileName.ToLower());
DirectoryInfo di = new DirectoryInfo(dirPath);
FileInfo[] finfos = di.GetFiles("*.*");
foreach (FileInfo fi in finfos)
{
string ext = fi.Extension.ToLower();
if ((ext.Equals(".png")) || (ext.Equals(".jpg")) || (ext.Equals(".tif")) || (ext.Equals(".gif")))
{
string Filename = fi.FullName;
Image image = Bitmap.FromFile(Filename); //exception occurs HERE
images.Add(image);
//this.imageList1.Images.Add(image);
//image.Dispose();
}
}
}
pictureBox3.Image = images[0];
}
私はC#、Windowsフォームを使用しています。ありがとう