我正在執行一個文件並執行2個操作。調整大小並將其放置在圖片框中,然後重新調整大小並保存。進程無法訪問文件...因爲它正在被另一個進程使用
第一個調整大小操作在將其作爲縮略圖放入窗口後很順利,但是在調整大小之後,第二個調整大小操作失敗,說它正在使用中。
從我的理解我沒有關閉文件或流。對此的解決方案是「使用」命令,但不管我放在哪裏,我都會遇到錯誤。
第一縮放代碼:
private void Form1_DragDrop(object sender, DragEventArgs e)
{
string[] droppedfiles = (string[])e.Data.GetData(DataFormats.FileDrop);
PB_Picture.Image = ScaleImage(Image.FromFile(droppedfiles[0]), 180, 140);
}
我想:
private void Form1_DragDrop(object sender, DragEventArgs e)
{
using (string[] droppedfiles = (string[])e.Data.GetData(DataFormats.FileDrop));
PB_Picture.Image = ScaleImage(Image.FromFile(droppedfiles[0]), 180, 140);
}
,但得到的一些誤區。
好吧,你不能在'using'語句中使用數組,因爲它沒有實現IDisposable。嘗試刪除使用語句。 – Ingenioushax
第二次調整大小操作在哪裏? –
您必須處理從Image.FromFile返回的圖像,而不是您的字符串數組。 –