1
我堅持保存一個數組System.Drawing.Bitmap
類型,每個位圖來分開文件。 我有一個數組「調查」。這個數組存儲多個double類型的列表。 對於每個列表我想創建一個位圖,然後將其保存爲bmp文件。 線raport[i].Save(Path.Combine(myfilepath, nets[i] + ".bmp"));
返回TypeInitializationException - 和我不知道爲什麼。 片nets[i]
是一個字典(int,字符串)與期望的文件名。保存數組的位圖來分隔文件與C#
public void save_results()
{
System.Drawing.Bitmap[] raport = new System.Drawing.Bitmap[survey.Length];
for (int i = 0; i < survey.Length; i++)
{
raport[i] = new System.Drawing.Bitmap(survey[i].Count, 1000);
for (int x = 0; x < survey[i].Count; x++)
for (int y = 0; y < 1000; y++)
raport[i].SetPixel(x, y, Color.FromArgb(255, 255, 255));
for (int x = 0; x < survey[i].Count; x++)
raport[i].SetPixel(x, (int)(1000 - Math.Floor(survey[i][x] * 1000) >= 1000 ? 999 : 1000 - Math.Floor(survey[i][x] * 1000)), Color.FromArgb(0, 0, 0));
raport[i].Save(Path.Combine(myfilepath, nets[i] + ".bmp"));
}
}
您需要查看TypeInitializationException的InnerException才能獲取更多信息。請參閱[這裏](http://stackoverflow.com/a/12425381/5095502)。 – Quantic
底層Bitmap.Save調用特定的編解碼器(請參閱System.Drawing.ImageFormat)。我認爲問題在於編解碼器初始化。您可以嘗試明確指定ImageFormat。另外,stacktrace會很有幫助。 –
我曾經有一個類似的問題一次保存多個文件,我認爲這是因爲保存不同步。我不知道情況是否如此。有人可以確認嗎? 我認爲我沒有在C#中編碼,但我想文件保存可能會被類似地處理。保存文件可能需要相當長的時間,但這隻影響硬盤,所以程序的其餘部分可能會繼續。它對我來說是有意義的,如果它在c#中也是異步的 – Jacopo