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

时间:2017-06-27 02:02:53

标签: vb.net image

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

 PictureBox1.Image.Save(filePath)

之后,我裁剪图像,我想通过用新裁剪的替换旧图像再次保存它

任何帮助,请

问候,,,

2 个答案:

答案 0 :(得分:0)

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

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 

至少现在应该解决您的问题,因为您不会将图像保存到您加载它的同一图像(您实际上没有加载它)。但是您必须在以后为整个算法找到更好的解决方案:)

答案 1 :(得分:0)

这就是答案



Dim bmp1 As New Bitmap(PictureBox1.Image)
        If System.IO.File.Exists(filePath) Then
            System.IO.File.Delete(filePath)
        End If

        bmp1.Save(filePath, System.Drawing.Imaging.ImageFormat.Jpeg)
        ' Dispose of the image files.
        bmp1.Dispose()