none
Erweiterte "Attribute" von Bilddateien RRS feed

  • Frage

  • Hallo.
    Kann ich mit C# Daten aus Bildern (zum Beispiel jpgs) auslesen wie den Autor, das Programm, mit dem das Bild erstellt wurde, etc (natürlich sofern vorhanden)?
    Hab was passendes in den Eigenschaften und Funktionen der Bitmap oder Image Klasse gesucht, aber nichts gefunden.
    Sonntag, 22. Juni 2008 18:37

Antworten

  • Hallo,

    du kannst die sog. EXIF- Informationen einer Bilddatei z.B. so herausfinden:

     

    Code Snippet

    public string GetImageInfo()

    {

      StringBuilder StrB = new StringBuilder();

      Image img = Image.FromFile("C:\\bild.jpg");

      PropertyItem[] properties = img.PropertyItems;

      foreach(PropertyItem item in properties)

      {

        if(item.Id == /* Platzhalter für die ID des jeweilig gesuchten Exif- Tags */)

          StrB.Add(item.Value.ToString());

      }

      return StrB.ToString();

    }

     

     

     

    Anstelle des Platzhalters musst du eine ID für den gewünschten Exif-Tag eingeben. Welche ID welchen Eintrag abruft, steht auf dieser Seite in der Liste etwas weiter unten: http://msdn.microsoft.com/de-de/library/system.drawing.imaging.propertyitem.id(VS.80).aspx

     

    Um mehrere Tags in der foreach Schleife auszulesen, füge einfach weitere if- Clauses hinzu.

    Mittwoch, 13. August 2008 20:10

Alle Antworten

  • Hallo,

    du kannst die sog. EXIF- Informationen einer Bilddatei z.B. so herausfinden:

     

    Code Snippet

    public string GetImageInfo()

    {

      StringBuilder StrB = new StringBuilder();

      Image img = Image.FromFile("C:\\bild.jpg");

      PropertyItem[] properties = img.PropertyItems;

      foreach(PropertyItem item in properties)

      {

        if(item.Id == /* Platzhalter für die ID des jeweilig gesuchten Exif- Tags */)

          StrB.Add(item.Value.ToString());

      }

      return StrB.ToString();

    }

     

     

     

    Anstelle des Platzhalters musst du eine ID für den gewünschten Exif-Tag eingeben. Welche ID welchen Eintrag abruft, steht auf dieser Seite in der Liste etwas weiter unten: http://msdn.microsoft.com/de-de/library/system.drawing.imaging.propertyitem.id(VS.80).aspx

     

    Um mehrere Tags in der foreach Schleife auszulesen, füge einfach weitere if- Clauses hinzu.

    Mittwoch, 13. August 2008 20:10
  • Ah ja, danke Smile
    Dienstag, 25. November 2008 17:21