Laden...

CSGraphicsLib

Erstellt von Christian S. vor 16 Jahren Letzter Beitrag vor 16 Jahren 3.892 Views
C
Christian S. Themenstarter:in
8 Beiträge seit 2005
vor 16 Jahren
CSGraphicsLib

Ich weiß, Chrome hat hier eigentlich nix zu suchen, aber die Bibliothek ist sicherlich auch für C#'ler interessant und der Source ebenso.

CSGraphicsLib

Allgemeines
CSGraphicsLib soll eine Bibliothek werden, welche die Arbeit mit Grafiken im Allgemeinen und Fotos im speziellen erleichtert. Ich werde die Bibliothek in unregelmäßigen Abständen erweitern. Die Bibliothek wird die Funktionen der WPF benutzen, also nur ab .NET 3.0 lauffähig sein.

Entwickelt wird die Bibliothek in Chrome, ist aber selbstverständlich aus jeder .NET Sprache nutzbar.

Die Bibliothek ist Open Source und wird unter der GPLv3 veröffentlicht.

Was ist drin?
Den Anfang machen zwei Klassen, um EXIF-Daten aus JPEG- und TIFF-Dateien auszulesen. Unter Einschränkungen auch aus RAW-Dateien.

Die erste Klasse (ExifInformation) liefert die Daten in einer Form, in der sie leicht weiter verarbeitet werden können. Für Daten, die in den EXIF-Daten nur als Integerwerte vorliegen, werden Enumerations bereitgestellt, welche "lesbare" Namen für die Werte wiedergeben (Namen von hier). Alle Werte werden dabei als Nullable (oder String) deklariert und sind nil/null/nix wenn sie nicht gelesen werden konnten. Die Daten werden an verschiedenen Orten gesucht (die Orte stammen von hier).

Die zweite Klasse (ReadableExifInformation) stellt String-Repräsentationen der Daten aus der ersten Klassen zur Verfügung, um einem diese Arbeit abzunehmen. Es können auch alle Eigenschaften als Sequenz durchlaufen werden. Alle ausgegebenen Strings durchlaufen dabei eine Methode, welche diese übersetzen oder sonst wie transformieren kann. Zur Transformation nach Deutsch und Englisch werden dabei bereits zwei Methoden mitgeliefert.

Folgende Eigenschaften werden gelesen:

  * Title
  * Subject
  * Rating
  * Rating (simple)
  * Tags
  * Comments
  * Authors
  * Date taken
  * Application
  * Date acquired
  * Copyright
  * Image ID        
  * Width
  * Height
  * Horizontal resolution
  * Vertical resolution
  * Resolution unit
  * Compression
  * Compressed bits per pixel
  * Color space
  * Camera manufacturer
  * Camera model
  * F Number
  * Exposure time
  * ISO Speed
  * Exposure bias
  * Focal length
  * Aperture
  * Maximum aperture
  * Metering mode
  * Subject distance
  * Flash
  * Focal length (35mm small picture)
  * Lens manufacturer
  * Lens model
  * Contrast
  * Brightness
  * Light source
  * Exposure program
  * Saturation
  * Sharpness
  * White balance
  * Photometric interpretation
  * Digital zoom
  * Orientation
  * EXIF Version
  * Thumbnail

Wo gibt's das?
Ich habe ein Projekt bei Google Code erstellt.

Nun zum Wichtigsten, den Downloads:
Die Bibliothek
Sourcen inkl. Beispielanwendung
Sourcecode bei Google Code ansehen
Wiki (bisher kaum was drin)

Crosspost C#-Forum
Crosspost Delphi-PRAXiS

C
Christian S. Themenstarter:in
8 Beiträge seit 2005
vor 16 Jahren

Hallo!

Ich habe heute eine neue Version veröffentlicht. Folgende Änderungen sind zu verzeichnen:

    * Namespace nach CSGraphicsLib geändert und Namespace CSGraphicsLib.EXIF eingeführt
    * Die Klassen Image und Photo hinzugefügt
    * Ein paar XML-Kommenatre hinzugefügt
    * Erkennung von RAW-Codecs hinzugefügt (Aktuell nur Canon und Nikon)
    * Lesen des JPEG-Thumbnails aus Canon-RAW-Dateien hinzugefügt
    * Methode eingebaut, welche die auf dem aktuellen System unterstützten Dateitypen auflistet
    * Methode zum Laden eines Bildes in eine BitmapSource hinzugefügt
    * Erstelle BitmapSources im GUI Thread, lade Bytes im aktuellen Thread
    * Ganz viel Refactoring ;-)

Die Links findet Ihr weiterhin im oberen Beitrag.

Grüße
Christian