我正在为桌面应用程序中的一个实用程序工作,与一些图形工作有关。
我必须加载小缩略图和全尺寸位图。我正在使用此代码执行此操作。
FileStream fs = new FileStream("myphoto.jpg", FileMode.Open);
Image imgPhoto = Image.FromStream(fs);
fs.Close();
PictureBox p = new PictureBox();
p.Name = "p1";
p.Image = imgPhoto;
flowPanel.Controls.Add(p);
//----
FileStream fs = new FileStream("myphoto_thumb.jpg", FileMode.Open);
Image img = Image.FromStream(fs);
fs.Close();
Button b_thumb = new Button();
b_thumb.Name = "thumb1";
b_thumb.BackgroundImage = img;
flowBottom.Controls.Add(b_thumb);
在此之后,我需要在此图片框的图像上添加一些效果。当我为图片框中的主(大)图像添加一些效果时,我也在底部背景图像中添加相同的效果。当我将此缩略图图像保存到现有缩略图图像时它正在保存,但是当我将图片框中的大图像保存在现有文件“myphoto.jpg”上时,它给了我错误,比如文件正在被另一个进程使用
//---- Add some Effects to image of Picturebox ---- //
PictureBox tempPic = flowPanel.Controls["p1"];
tempPic.Image.Save("myphoto.jpg",ImageFormat.Jpeg);
我在 google 和 stackoverflow 上找到了很多解决方案,但没有找到帮助。如果有任何好的解决方案,请帮助。可能很简单,但我尝试了 10 多个小时但失败了。