我正在使用此代码保存图片
PictureBox1.Image.Save(filePath)
之后,我裁剪图像,我想通过用新裁剪的替换旧图像再次保存它
任何帮助,请
问候,,,
答案 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()