我想選擇多個(在我的情況下77)圖像,並將它們轉換爲其他大小和格式。 我做了一個Ilist(字符串)listaslika,其中包含來自文件夾的圖像名稱列表。 tbSelect是一個文本框,其中包含圖像所來自的文件夾路徑,而tbSave包含將保存圖像的文件夾。 現在我想調整他們所有的人,即使我處置了一切,我有內存泄漏,有什麼建議嗎?提前致謝。並行foreach內存泄漏位圖
private void button3_Click(object sender, EventArgs e)
{
int W = Convert.ToInt32(txtW.Text);
int H = Convert.ToInt32(txtH.Text);
Parallel.ForEach(listaslika, slika =>
{
Bitmap bpm = new Bitmap(W, H);
Graphics graphic = Graphics.FromImage(bpm);
img = Image.FromFile(tbSelect.Text + "\\" + slika);
graphic.DrawImage(img, 0, 0, W, H);
graphic.Dispose();
img = bpm;
((Button)sender).Enabled = false;
string select = Path.GetFileNameWithoutExtension(slika);
img.Save(tbSave.Text + "\\" + select + exten[GetSelecetedIndex()]);
bpm.Dispose();
img.Dispose();
});
你沒有處置產生的圖像實例與Image.FromFile –