用Bitmap解决
SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Title = "图片保存"; saveFileDialog.Filter = @"jpeg|*.jpg|png|*.png|bmp|*.bmp"; if (saveFileDialog.ShowDialog() == DialogResult.OK) { ImageFormat imageFormat = ImageFormat.Jpeg; string fileName = saveFileDialog.FileName; if (fileName.EndsWith(".png")) { imageFormat = ImageFormat.Png; } else if (fileName.EndsWith(".bmp")) { imageFormat = ImageFormat.Bmp; } using (Bitmap bitmap=new Bitmap(pictureBox1.Image)) { bitmap.Save(fileName, imageFormat); } //他喵的直接报错,不知道微软还保留的原因是什么 // pictureBox1.Image.Save(saveFileDialog.FileName, imageFormat); }