Chciałbym użyć LibTiff, aby uzyskać dostęp do bardzo dużych plików TIFF. Potrzebuję funkcji, takich jak wiele stron i płytek, a więc LibTiff wydaje się być właściwą drogą. Czy ktoś może mi pomóc, jak korzystać z LibTiff z C#? Znalazłem kilka linków (np. blog.bee-ee, które zawierały częściowy kod, ale nie mogłem wyjść poza otrzymanie wersji.) Spojrzałem na FreeImage, ale uznałem, że nie jest to odpowiednie (zdjęcia mają około 800 MPixel 8 lub 16-bitową skalę szarości - > 800-1600 MB) i nie mogę załadować go do pamięci w środowisku 32-bitowym)Używanie LibTiff z C# (aby uzyskać dostęp do kafelkowych obrazów TIFF)
Jestem bardzo doświadczony w C/C++, ale jeszcze nie w C#. Czy ktoś może mi pomóc w otworze lub niektórych podpowiedziach?
Uwaga: Potrzebuję stron, aby uzyskać dostęp do płaszczyzn piramidowych (wielu rozdzielczości) w tiff, a kafelków o wymiarach 256x256, aby uzyskać szybki dostęp do różnych części obrazu bez ładowania go na raz.
[Edytuj] Rozwiązanie LibTIFF.NET wydawało mi się najbardziej praktyczne. Teraz integruję go w rozwój produktu i prawdopodobnie uratuje mnie wiele bólów głowy z wchodzenia/wychodzenia z zarządzanej pamięci. Jeszcze nie próbowałem funkcji "oddzwaniania", która wydaje się być rozwiązana ładnie w sposób .net. Dzięki za pomoc na stackoverflow [/ Edytuj]
Dzięki. Moje pierwsze testy wyglądają dobrze. Mimo że znalazłem klasę opakowania, nie miał on znanego autora i wcześniej czy później dostałbym pewne problemy z dostępem do zarządzanych/niezarządzanych zasobów pamięci. Testy porównawcze wykazały równoważną wydajność odczytu nieskompresowanych plików i 50% perfomance na kompresowanych ostrosłupowych tiffach Adobe. Jest to dla mnie do przyjęcia. Mogę zrezygnować z kompresji, a ja będę lepiej, aby moje oprogramowanie było przyjazne dla wielu rdzeni niż rozwiązywanie problemów z pamięcią. – Adriaan
Dzięki, Adriaan nasza implementacja jest zdecydowanie wolniejsza niż oryginalny język wyboru :-) – Bobrovsky
Nie mam nic przeciwko. Dla mojego projektu wydajność oznacza funkcjonalność/euro. A godziny rozwoju to 95% kosztów. Mogę łatwo rzucić quadcore, aby to zrekompensować. Poza tym, kiedy trzymam się z daleka od kompresji, różnica jest niewielka. A moje pliki kompresują tylko około 10%, więc to tylko marne 100 MB na plik ;-) – Adriaan