Hallo,
ich bin am verzweifeln. Ich habe ein Visual Studio ein Projekt gestartet (WPF-Anwendung als Framework .NET 8.0).
Nun versuche ich wie blöd ein Bild zu laden. Alle Informationen die ich finde, definieren das Bild als Image und laden das Bild mittels FromFile.
Nur wenn ich das mache, klappt es nicht.
Ich bekomme die Meldung "FromFile" ist kein Member von "MediaTypeNames.Image". Das gleiche Problem habe ich mit den PropertyItems (möchte die Tags der Bilddatei auslesen).
Habe ich mein Projekt falsch erstellt? Oder ?? Anbei ein Versuchs Code:
Für jede Hilfe, Anregung bin ich dankbar. Aber wenn jemand eine fertige Klasse kennt, die ein Leihe nutzen kann, ohne Studiert zu haben, würde ich mich auch darüber freuen. Diese Klasse müsste Tags auch erstellen und ändern können.
Vielen Dank
Christian
*Topic verschoben*
ich bin am verzweifeln. Ich habe ein Visual Studio ein Projekt gestartet (WPF-Anwendung als Framework .NET 8.0).
Nun versuche ich wie blöd ein Bild zu laden. Alle Informationen die ich finde, definieren das Bild als Image und laden das Bild mittels FromFile.
Nur wenn ich das mache, klappt es nicht.
Ich bekomme die Meldung "FromFile" ist kein Member von "MediaTypeNames.Image". Das gleiche Problem habe ich mit den PropertyItems (möchte die Tags der Bilddatei auslesen).
Habe ich mein Projekt falsch erstellt? Oder ?? Anbei ein Versuchs Code:
VB.NET-Quellcode
- Imports System
- Imports System.IO
- Imports System.Net.Mime.MediaTypeNames
- Imports System.Drawing
- Module Program
- Sub Main(args As String())
- Console.WriteLine("Hello World!")
- Dim filePath As String = "C:\Pfad\zu\deinem\Bild.jpg"
- Dim tags As Dictionary(Of String, Object) = GetJpegTags(filePath)
- ' Ausgabe der Tags
- For Each tag In tags
- Console.WriteLine($"{tag.Key}: {tag.Value}")
- Next
- End Sub
- Public Function GetJpegTags(filePath As String) As Dictionary(Of String, Object)
- ' Überprüfen, ob die Datei existiert und ein gültiges Bild ist
- If Not File.Exists(filePath) Then
- Throw New ArgumentException("Datei existiert nicht.")
- End If
- Dim image As Image = image.FromFile(filePath)
- ' Alle PropertyItems (Tags) abrufen
- Dim propertyItems As PropertyItem() = image.PropertyItems
- ' Dictionary zum Speichern der Tags erstellen
- Dim tags As New Dictionary(Of String, Object)
- ' PropertyItems in das Dictionary übertragen
- For Each item As PropertyItem In propertyItems
- ' Versuchen, den Tag-Namen zu finden
- Dim tagName As String = GetTagName(item.Id)
- ' Wenn ein Name gefunden wurde, den Wert speichern
- If Not String.IsNullOrEmpty(tagName) Then
- tags.Add(tagName, GetPropertyValue(item))
- End If
- Next
- Return tags
- End Function
- Private Function GetTagName(id As Integer) As String
- ' Hier könnte eine umfassendere Liste von Tag-IDs und -Namen definiert werden
- Select Case id
- Case &H112
- Return "Image Description"
- Case &H132
- Return "Make"
- Case &H131
- Return "Model"
- ' ... weitere Tag-IDs hinzufügen
- Case Else
- Return String.Empty
- End Select
- End Function
- Private Function GetPropertyValue(item As PropertyItem) As Object
- ' Je nach Datentyp des Tags den Wert entsprechend konvertieren
- Select Case item.Type
- Case 1 ' Byte
- Return Encoding.ASCII.GetString(item.Value)
- Case 2 ' ASCII
- Return Encoding.ASCII.GetString(item.Value)
- Case 3 ' Short
- ' ...
- ' ... weitere Datentypen hinzufügen
- Case Else
- Return "Unbekannter Datentyp"
- End Select
- End Function
- End Module
Für jede Hilfe, Anregung bin ich dankbar. Aber wenn jemand eine fertige Klasse kennt, die ein Leihe nutzen kann, ohne Studiert zu haben, würde ich mich auch darüber freuen. Diese Klasse müsste Tags auch erstellen und ändern können.
Vielen Dank
Christian
*Topic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()