我正在使用VB.NET。我可以将文件夹中的图片加载到flowlayoutpanel中。然后将点击的图片加载到单独的图片框中,并在标签中显示图片的文件路径。
现在,我希望能够为flowlayoutpanel中的每个图像添加评级和说明,并将其保存到已加载图片的文件夹中的文本文件中。应用程序应加载能够在下次启动时或更改所选图像时加载评级和说明。我该如何做到这一点?
答案 0 :(得分:0)
您应该考虑访问图片的元数据。这样,您想要的信息随图片一起传送。它包含在PropertyItems Class中,它是Image类的属性
以下是answered question关于向jpg添加评论的链接。希望这会有所帮助。
这是在VB.net中对该代码进行的未经测试的转换。你可能不得不添加一个引用或2并导入一些名称空间,但从语法上来说这是正确的,因为我可以告诉你。
Public Function SetImageComment(input As Image, comment As String) As Image
Using memStream As New IO.MemoryStream()
input.Save(memStream, Imaging.ImageFormat.Jpeg)
memStream.Position = 0
Dim decoder As New JpegBitmapDecoder(memStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad)
Dim metadata As BitmapMetadata
If decoder.Metadata Is Nothing Then
metadata = New BitmapMetadata("jpg")
Else
metadata = decoder.Metadata
End If
metadata.Comment = comment
Dim bitmapFrame = decoder.Frames(0)
Dim encoder As BitmapEncoder = New JpegBitmapEncoder()
encoder.Frames.Add(bitmapFrame.Create(bitmapFrame, bitmapFrame.Thumbnail, metadata, bitmapFrame.ColorContexts))
Dim imageStream As New IO.MemoryStream
encoder.Save(imageStream)
imageStream.Position = 0
input.Dispose()
input = Nothing
Return Image.FromStream(imageStream)
End Using
End Function