【问题标题】:How to save data to text file and retrieve如何将数据保存到文本文件并检索
【发布时间】:2014-03-29 05:13:21
【问题描述】:

我正在使用 VB.NET。我可以将文件夹中的图片加载到 flowlayoutpanel 中。然后将点击的图片加载到单独的图片框中,并在标签中显示图片的文件路径。

现在我希望能够为 flowlayoutpanel 中的每个图像添加评级和描述,并将其保存到加载图片的文件夹中的文本文件中。该应用程序应该能够在下次启动或更改所选图像时加载评级和描述。我该如何做到这一点?

【问题讨论】:

    标签: vb.net file text save


    【解决方案1】:

    您可能应该考虑访问图片的元数据。这样,您想要的信息就会与图片一起携带。这包含在 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
    

    【讨论】:

    • 我可以举个例子吗?我试过了,但它只是以整数返回属性的值。我想编辑评级和描述。
    • 我添加了一个可能有帮助的链接。
    • 该代码在 VB.Net 中。你能翻译一下吗?如果你愿意,我会很高兴。
    • 谢谢,我去看看。
    猜你喜欢
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    • 2012-05-02
    • 2017-10-17
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 2017-01-30
    相关资源
    最近更新 更多