Laden...
C
Christian S. myCSharp.de - Member
Physikstudent Düsseldorf Dabei seit 09.09.2005 8 Beiträge
Benutzerbeschreibung

Forenbeiträge von Christian S. Ingesamt 8 Beiträge

09.09.2008 - 21:33 Uhr

SharpFlickr

Was ist SharpFlickr?
Der Fotodienst Flickr bietet eine API, damit Programme und Webseiten den Dienst nutzen können. Leider ist es ohne "Vermittler" ("API Kit") sehr unbequem, diese API zu benutzen. Ein solches API Kit ist SharpFlickr und zwar für alle .NET Sprachen.

SharpFlickr wird bei Google Code gehostet.

Was kann SharpFlickr?
SharpFlickr bietet eine objektorientierte Schnittstelle zu den API Funktionen von Flickr. API Methoden sind also nicht nur über globale Methoden abgebildet, sondern auch jeweils als Member-Methoden der entsprechenden Klassen. Der "Code-Weg" zur Methode soll also möglichst kurz sein.

Welche Funktionen sind in SharpFlickr enthalten?
Die implementierten Methode können hier nachgelesen werden.
Was noch gemacht werden muss, findet sich hier.

In welchen Sprachen ist SharpFlickr nutzbar?
SharpFlickr ist zwar in Oxygene geschrieben, ist aber in jeder .NET-Sprache nutzbar.

Welche .NET-Version braucht SharpFlickr?
SharpFlickr kann entweder gegen die System.Core.dll von Mono kompiliert werden oder gegen die System.Core.dll von .NET. Dann ist SharpFlickr unter .NET 2.0 bzw .NET 3.5 lauffähig. Es gibt Binaries für beide Fälle.

Unter welcher Lizenz ist SharpFlickr veröffentlicht?
SharpFlickr steht unter der MIT License. Bis auf einen Copyright-Hinweis kann SharpFlickr also völlig frei verwendet werden, egal in welchem Projekt.

Was benutzt SharpFlickr?
SharpFlickr benutzt die XML-RPC.NET Library (http://www.xml-rpc.net)
XML-RPC.NET Copyright (c) 2006 Charles Cook

Download
SharpFlickr 0.8.0.1 für Monos System.Core.dll
SharpFlickr 0.8.0.1 für .NET's System.Core.dll
SharpFlickr 0.8.0.1 Sourcecode als ZIP

Crosspost C#-Forum

28.10.2007 - 11:52 Uhr

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

05.10.2007 - 23:39 Uhr

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

11.08.2007 - 19:43 Uhr

Wenn Du statt einer List<> eine BindingList<> nimmst, dann geht es:

    public partial class Window1 : Window
    {
        BindingList<String> bl = new BindingList<string>();

        public Window1()
        {
            InitializeComponent();

            listBox1.ItemsSource = bl;

            bl.Add("foo");
            bl.Add("bar");
            bl.Add("42");
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            bl.Remove((string)listBox1.SelectedItem);
        }
    }

Dann musst Du auch nur aus der internen Liste löschen und nicht auch noch aus der Listbox.

Grüße
Christian

17.03.2006 - 15:31 Uhr

Hallo!

Danke für die Bemühungen! Ich bin gerade dabei, das so umzubauen, dass man das Fenster nur proportionserhaltend verändern kann, es also nicht mehr nachträglich geändert werden muss.

Dein Hinweis mit ClientSize kommt mir da gerade Recht! 👍

Grüße
Christian

16.03.2006 - 19:24 Uhr

Wie ich schon schrieb: Wenn Du beim Fenster Seite A änderst, so wird, nachdem Du damit fertig bist, Seite B geändert, sodass das Bild in den richtigen Proportionen angezeigt wird.

16.03.2006 - 18:58 Uhr

Hallo!

Das Seitenverhältnis der Thumbnails ist in der hier veröffentlichten Version bereits korrekt.

Das mit dem Preview wundert mich ein wenig, könntest Du das Verhalten genauer beschreiben? Normalerweise sollte es so sein, dass Du die Größe der Previewform ändern kannst und diese nach Beendigung der Größenänderung ihre Größe so anpasst, dass das Seitenverhältnis korrekt ist.

Grüße
Christian

16.03.2006 - 17:43 Uhr

SharpPix 2.0

Einleitung
SharpPix ist ein Programm, welches dazu dient, die Größe vieler Bilddateien auf einmal zu ändern. Dabei werden verschiedene Arten unterstützt, die neuen Maße einzugeben, sodass SharpPix in vielen Situationen einsetzbar ist. Auf Wunsch werden EXIF-Daten in die geänderten Dateien übernommen, eine HTML-Galerie erstellt oder auch die Dateinamen mit einer Art Baukasten neu erstellt. Auch Wasserzeichen können in die Dateien integriert werden.

Dies hier ist der zweite Versuch, eine Version 2.0 dieses Programmes herauszubringen. Der erste Versuch endete im Oktober letzten Jahres, als ich anfing, mich mit .NET 2.0 zu beschäftigen und mich entschied, dass das die weitaus bessere Plattformm für SharpPix wäre als .NET 1.1.

Programm-Features
An dieser Stelle seien noch einmal die wichtigsten Funktionen von SharpPix aufgezählt:*Angabe der Quelldateien im Programm, über das "Senden An"-Menü und per Drag 'n Drop. Bei verwenden von "Senden An" und laufendem SharpPix werden die Dateien an die bestehende Instanz übergeben.

  • Anzeige von Thumbnails der in der Liste befindlichen Bilder

  • Modi "freie Eingabe", "konstante Proportionen", "prozentual" und "größte Seite" zur individuellen Eingabe der neuen Maße. Außerdem Modus "Original", um nur die sonstigen Funktionen von SharpPix und die Plugins zu verwenden.

  • Speicherung im JPEG-, BMP- oder PNG-Format unabhängig vom Format der Quelldatei

  • Übernahme von EXIF-Daten, falls JPEG-Dateien geladen und gespeichert werden

  • Einstellung der Qualität, falls JPEG-Dateien gespeichert werden

  • Baukasten für Dateinamen, für alle die mit Dateiename wie "IMGP0099.JPG" nichts anfangen können

  • Plugin-Support

  • Plugin mitgeliefert: Erstellung einer HTML-Galerie inklusive Thumbnails

  • Plugin mitgeliefert: Zeichnen von Wasserzeichen über Bilder, um z.B. Copyright-Hinweise unterzubringen

  • Verwaltung von persönlichen SharpPix-Einstellungen in Profilen

  • Kontexthilfe bei Rechtsklick

  • Werden in der Status-Listbox Eingabefehler aufgelistet, gelangt man per Doppelklick auf den Fehler zum entsprechenden Control

  • Auf einem englischen System sollte SharpPix in englischer Sprache erscheinen

Die Sourcen
SharpPix ist vollständig in C# 2.0 geschrieben, dabei wurde das Visual Studio 2005 verwendet. Die frei verfügbare Express-Version sollte reichen, das Projekt zu kompilieren zu können. Die license.txt im Root-Verzeichnis des Pakets ist zu beachten.

Eine Anleitung, um Plugins zu schreiben, werde ich in ein paar Tagen nachreichen.

Die Binaries
Zur Ausführung der Binaries ist das .NET Framework 2.0 nötig. Sollten im Programm Einstellungsprofile angelegt werden, so werden diese in einer Datei im Profilverzeichnis des jeweiligen Nutzers gespeichert (\Anwendungsdaten\SharpPix\2.0.0\profiles.xml).

Hinweis: Ich habe das Programm schon ein paar wenigen Testern gezeigt, Fehler sind aber trotzdem noch wahrscheinlich.

Downloads
Binaries: http://www.stelzmann-duesseldorf.de/programme/sharppix2/SharpPix.zip
Source: http://www.stelzmann-duesseldorf.de/programme/sharppix2/SharpPix_Source.zip

Crossposting