Liest die Dimension und Auflösung einer TIFF-Datei, ohne sie zuerst zu laden

8

So lesen Sie die Dimension (Breite und Höhe) und Auflösung (horizontal und vertikal) einer Tiff-Datei, ohne sie zuerst in den Speicher zu laden, indem Sie einen Code wie den folgenden verwenden. Es ist zu langsam für große Dateien und ich muss sie nicht manipulieren.

%Vor%

Bearbeiten:

Diese Tiff-Dateien sind Bilevel und haben eine Größe von 30x42 Zoll. Die Dateigröße beträgt ca. 1-2 MB. Also funktioniert die obige Methode Ok aber langsam.

    
z1x2 29.10.2010, 00:32
quelle

4 Antworten

10

Bin selbst dazu gekommen und habe die Lösung gefunden (möglicherweise hier). Image.FromStream mit validateImageData = false ermöglicht Ihnen den Zugriff auf die gesuchten Informationen, ohne die gesamte Datei zu laden.

%Vor%     
Joel Rondeau 13.01.2011, 19:20
quelle
2

Soweit ich weiß, laden alle Klassen aus dem System.Drawing-Namespace Bilddaten sofort, wenn das Bild geöffnet ist.

Ich denke, LibTiff.Net kann Ihnen helfen, Bildeigenschaften zu lesen, ohne Bilddaten zu laden. Es ist kostenlos und Open-Source (BSD-Lizenz, geeignet für kommerzielle Anwendungen).

Hier ist ein Beispiel für Ihre Aufgabe (Fehlerüberprüfungen werden der Kürze halber weggelassen):

%Vor%

Haftungsausschluss: Ich bin einer der Betreuer der Bibliothek.

    
Bobrovsky 29.10.2010 11:28
quelle
1

Versuchen Sie dies , es scheint was zu sein du suchst nach. Überspringe einfach alles nach:

%Vor%

Vergessen Sie nicht, nach Ihnen zu schließen:

%Vor%     
Onkelborg 29.10.2010 00:40
quelle
1

Der einzige Weg, an den ich denken kann, ist das Lesen des Tiff-Binary-Headers.

Hier können Sie die Spezifikation herunterladen: Ссылка

Hier ist ein Code zum Lesen von Tiffs, mit dem Sie lernen können: Ссылка

Ich habe vor einiger Zeit eine Bibliothek erstellt, um die tiff-Header zu lesen (mit diesen zwei Ressourcen als Basis), aber es war Teil meines Arbeitgebercodes, daher kann ich meinen Code hier nicht posten und ich kann sagen, dass es nicht wirklich schwer ist.

Ich hoffe, das hilft.

    
Edgar Hernandez 29.10.2010 00:44
quelle

Tags und Links