複数(私の場合は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 –