Hi Leute, ich habe ein Problem.
Ich bin absoluter neuling in sachen c# und möchte jetzt von einer Grafikdatei die Dateiinfo/beschreibung/Stichwörter in einen String laden, wie mache ich das. Bitte helft mir.
Hallo ülf,
in dieser allgemeinen Form, wie du das schreibst, wird das wohl nicht gehen. Dazu gibt es zu viele unterschiedliche Grafikformate, die ihre Metainformationen alle unterschiedlich speichern. Interessiert dich vielleicht nur ein bestimmtes Format, z.B. JPEG?
herbivore
Die Grafikformate sind hauptsachlich jpegs, teilweise aber auch gif und png´s.
Hi!
Wenn es dir nur um den Dateityp für Bilder geht kannst du auch einfach System.Drawing.Imagin.Metafile verwenden. Die Klasse hat eine Eigenschaft RawFormat das dir ein ImageFormat zurückgibt und mit dem du den Dateityp herausfinden kannst(wenn die Datei ein Bild ist)
Es geht mir ja leider nicht um den Dateityp, sondern um die Dateiinfo, besonders um die stichwörterangabe in der Dateiinfo.
Hi,
wenn es sich um eine NTFS Platte handelt, auf der Deine Dateien liegen helfen Dir eventuell "ADS-Streams" weiter.
Dort werden scheinbar die Informationen gespeichert, die Du suchst.
Guck Dich einfach mal hier um:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfiles/html/ntfs5.asp
http://support.microsoft.com/default.aspx?scid=kb;EN-US;186898
Greetz
MoD
Life is a piece of shit, when you look at it!
Hallo ülf,
ich habe noch folgendes in der Doku gefunden. Vielleicht hilft das:
Einige Bilddateien enthalten lesbare Metadaten, mit deren Hilfe Features des Bildes bestimmt werden können. Ein digitales Foto kann beispielsweise Metadaten enthalten, die Sie auslesen können, um Fabrikat und Modell der Kamera zu ermitteln, mit der das Bild aufgenommen wurde. Mit Hilfe von GDI+ können vorhandene Metadaten gelesen sowie neue Metadaten in Bilddateien geschrieben werden.
GDI+ speichert individuelle Metadaten in einem PropertyItem-Objekt. Um sämtliche Metadaten aus einer Datei zu erhalten, kann die PropertyItems-Eigenschaft eines Image-Objekts gelesen werden. Die PropertyItems-Eigenschaft gibt ein Array von PropertyItem-Objekten zurück.
herbivore
oh man das sind ja nee menge infos, aber irgendwie werde ich daraus nicht so ricihtig schlau, wie kann ich denn jetzt die dateiinfos auslesen oder besser noch speziell die stichwörter von den Dateiinfos???
Ok jetzt bin ich trozdem noch nicht weiter, ich schildere am besten mal das problem. Wir haben einen Rechner auf dem 8000 Bilder liegen auf diesem Rechner herrscht absolutes Chaos. Deshalb soll jetzt ein programm geschrieben werden welches den Bildern Stichwörter zuweisen kann. Ich möchte die Stichwörter unter den Dateieigenschaften speichern, weil das ganze ohne Datenbanken laufen sollte, deshalb frag ich mich jetzt wie ich auf die Dateieigenschaften zugreifen kann um diese möglichst einfach einzugeben bzw. abzufragen. Der Vorteil währe dann das die Stichwöretr die dem Bild zugewiesen worden sind immer beim Bild währen und so nicht beim verschiieben der Datei verschwinden. Es wird auserdem von mehren Rechner auf die Photos zugegriffen so das Programme wie Picasa sinnlos sind, weil diese die Keywordeigenschaften auf dem jeweiligen clientrechner ablegen werden und ich diese nicht expotieren kann.
Bitte um hilfe, falls ihr andere Lösungsvorschläge habt ich bin für alles offen.
Du willst die Document properties auslesen bzw. setzen, richtig?
Wenn dem so ist: Unter folgender URL kannst du die DSOfile.dll
von microsoft runterladen. Sollte sich auch in C# verwenden lassen.
Einfach eine Referenz auf diese dll erstellen.
http://support.microsoft.com/?id=224351
Beste Grüsse,
Meli
Gernot Melichar