如何在vb.net中保存对原始图像的更改?

如何在vb.net中保存对原始图像的更改?,vb.net,image,Vb.net,Image,我正在使用此代码保存图像 PictureBox1.Image.Save(filePath) 之后,我裁剪图像,我想通过用新裁剪的图像替换旧图像来再次保存它 需要帮忙吗 关于,,,将图像加载到PictureBox而不是当前使用的图像时,请使用以下代码,稍后保存即可。using语句确保在加载图像后释放文件。 用您自己的文件路径替换文件路径 Using stream as new FileStream(filePath, FileMode.Open, FileAccess.Read) Pi

我正在使用此代码保存图像

 PictureBox1.Image.Save(filePath)
之后,我裁剪图像,我想通过用新裁剪的图像替换旧图像来再次保存它

需要帮忙吗


关于,,,

将图像加载到PictureBox而不是当前使用的图像时,请使用以下代码,稍后保存即可。using语句确保在加载图像后释放文件。 用您自己的文件路径替换文件路径

Using stream as new FileStream(filePath, FileMode.Open, FileAccess.Read)
    PictureBox1.Image = Image.FromStream(stream)
End Using
编辑 从你最后的评论中,我可以看到这个代码

Try 
    Me.Opacity = 0% 
    Me.PictureBox1.Image = cc() 
    PictureBox1.Image.Save(filePath) 
    source = Image.FromFile(filePath) 
    PictureBox1.Image = source 
    TextBox1.Text = filePath 
    Me.Opacity = 100% 
Catch ex As Exception 
    MsgBox(ex.Message) 
End Try 
保存后不需要将图像重新加载到PictureBox。只要去掉下面几行就行了

source = Image.FromFile(filePath) 
PictureBox1.Image = source 
这至少在目前可以解决您的问题,因为您不会将图像保存到从中加载图像的同一图像(您实际上没有加载图像)。但是您以后必须为整个算法找到更好的解决方案:)

这就是答案

将bmp1设置为新位图(PictureBox1.Image)
如果System.IO.File.Exists(文件路径),则
System.IO.File.Delete(文件路径)
如果结束
bmp1.Save(文件路径,System.Drawing.Imaging.ImageFormat.Jpeg)
'处理图像文件。

bmp1.Dispose()
我尝试过这样做,但遇到了以下错误{“进程无法访问文件'C:\Users\TOSHIBA\Desktop\image20170627083237.png',因为它正被另一个进程使用。”}请大家帮忙,这是我正在使用的代码,我应该把代码放在哪里请试用。不透明度=0%Me.PictureBox1.Image=cc()PictureBox1.Image.Save(文件路径)source=Image.FromFile(文件路径)PictureBox1.Image=source TextBox1.Text=filePath Me.Opacity=100%Catch ex As Exception MsgBox(ex.Message)End try您的cc()函数做什么?私有函数cc()作为位图Dim s As Screen=Screen.PrimaryScreen Dim img作为新位图(s.Bounds.Width,s.Bounds.Height)Dim gr As Graphics=Graphics.FromImage(img)gr.CopyFromScreen(s.Bounds.Location,Point.Empty,s.Bounds.Size)返回img End函数如何加载图像?如果使用
image.FromFile()
您应该阅读以下内容: