開發(fā)人事檔案系統(tǒng)時,一般都要利用pictureBox對人員的照片進(jìn)行操作,包括選擇保存照片、另存照片、刪除照片,如下圖:
將照片保存到數(shù)據(jù)庫和從數(shù)據(jù)庫中刪除,網(wǎng)友寫了很多實用代碼,非常好用。但是要將pictureBox上顯示的照片另存為磁盤文件時,非常容易出現(xiàn)“GDI+ 發(fā)生一般性錯誤”。網(wǎng)上有很多建議,都不符合我的要求,要么另存出來的照片不能正常顯示,要么代碼非常繁瑣。經(jīng)過我測試,其實方法很簡單,C#一句代碼就可以實現(xiàn)pictureBox照片另存為磁盤文件而不出錯。主要代碼如下:
if (SaveFileDialog.ShowDialog() == DialogResult.OK)
{
pictureName = SaveFileDialog.FileName;
if (pictureBox1.Image != null)
{
////********************照片另存*********************************
using (MemoryStream mem = new MemoryStream())
{
//這句很重要,不然不能正確保存圖片或出錯(關(guān)鍵就這一句)
Bitmap bmp = new Bitmap(pictureBox1.Image);
//保存到內(nèi)存
//bmp.Save(mem, pictureBox1.Image.RawFormat );
//保存到磁盤文件
bmp.Save(@pictureName, pictureBox1.Image.RawFormat);
bmp.Dispose();
MessageBox.Show("照片另存成功!","系統(tǒng)提示");
}
////********************照片另存*********************************
}
}
新聞熱點(diǎn)
疑難解答