erhalten Erweiterung von System.Drawing.Imaging.ImageFormat (C #)

7

Ist es möglich, die Erweiterung für eine beliebige System.Drawing.Imaging.ImageFormat zu bekommen? (C #)

Beispiel:

%Vor%

Dies kann leicht als Nachschlagetabelle gemacht werden, aber wollte wissen, ob es irgendetwas nativ in .Net gibt.

    
Karl Cassar 04.01.2013, 14:38
quelle

5 Antworten

12

mayby ​​das ist was du suchst?

%Vor%     
niklascp 04.01.2013, 14:51
quelle
23

Ich habe jetzt 3 Wege gefunden, dies zu tun, von denen die letzten 2 gleichwertig sind. Alle sind Erweiterungsmethoden und beabsichtigen, eine Erweiterung in der Form ".foo"

zu erzeugen %Vor%

Als Erweiterungsmethoden können sie wie folgt aufgerufen werden:

%Vor%

Die resultierende Zeichenfolge lautet:

%Vor%

Um diese neuen Methoden zu vergleichen, habe ich eine kurze Konsolen-App erstellt:

%Vor%

Dies führt zu der folgenden Ausgabe:

%Vor%

Sie können sehen, dass die ursprüngliche Methode fehlschlägt und eine '.IDFK' für die dunkleren Formate erzeugt, während die anderen Methoden nur den Namen des Formats verwenden; ImageFormat.Jpeg, '.jpeg'; ImageFormat.MemoryBmp, '.memorybmp'; usw. ..

Wenn also die ursprüngliche Frage ".tif" und nicht ".tiff" heißen soll, scheint es, dass die erste Methode für Sie ist. Oder vielleicht wäre eine Kombination der beiden ideal:

%Vor%     
Kevin Brey 31.07.2013 19:30
quelle
2

Kevin Bray 's Antwort ist großartig. Ich war nicht 100% glücklich, dass ich mich auf eine Ausnahme auf diese Art und Weise verlassen konnte, also habe ich seine Lösung sehr leicht verändert ...

%Vor%     
Moo 13.04.2016 09:38
quelle
2

In meinem Produktionscode verwende ich das:

%Vor%     
Harry Kakoulidis 31.05.2016 13:05
quelle
1

Ich habe etwas verfeinert auf Niklas Antwort, weil ich nach einer Möglichkeit suchte, eine Dateierweiterung passend für einen Dateinamen zu bekommen. Ich poste meine Lösung hier für den Fall, dass andere Googler das gleiche suchen:

%Vor%

Wenn du es also so nennst:

%Vor%

Die resultierende Zeichenfolge lautet:

%Vor%     
Thomas C. G. de Vilhena 03.03.2013 02:00
quelle

Tags und Links