매우 큰 TIFF 파일에 액세스하려면 LibTiff를 사용하고 싶습니다. 여러 페이지와 타일 같은 기능이 필요하므로 LibTiff가 올바른 방법 인 것 같습니다. 누구든지 C#에서 LibTiff를 사용하는 방법에 나를 도울 수 있습니까? 몇 가지 링크를 발견했습니다 (부분 코드가 포함 된 blog.bee-ee과 같은 버전입니다.) 그러나 FreeImage을 살펴 보았지만 적합하지 않음을 알았습니다 (그림은 약 800x8 또는 16 비트 회색조 - > 800-1600 MByte) 크기이고 32 비트 환경에서 메모리에로드 할 수 없습니다.C#에서 LibTiff 사용 (타일 된 TIFF 이미지에 액세스)
저는 C/C++에서 경험이 많지만 C#에서는 아직 익숙하지 않습니다. 누구나 래퍼 또는 힌트를 도울 수 있습니까?
참고 : 티파니의 피라미드 평면 (다중 해상도)에 액세스하려면 페이지가 필요하고 이미지를로드하지 않고 이미지의 다른 부분에 빠르게 액세스하려면 256x256의 타일을 사용해야합니다.
[편집] LibTIFF.NET 솔루션이 가장 실용적이었습니다. 이제는 제품 개발 과정에서이를 통합하고 있으며, 관리 메모리로/밖으로 나가는 두통을 적절하게 저해 할 것입니다. 아직 '콜백 (callback)'기능을 시도한 적이 없으며 .net 방식으로 멋지게 해결되는 것으로 보입니다. Stackoverflow 도움말에 감사드립니다. [/ 편집]
감사. 첫 번째 테스트가 잘되고 있습니다. 래퍼 클래스를 찾았지만 알려진 작성자가 없기 때문에 조만간 관리되는/관리되지 않는 메모리 리소스에 대한 액세스 문제가 발생합니다. 벤치 마크 결과 압축되지 않은 파일을 읽을 때와 동일한 성능을 보였고 Adobe 압축 피라미드 타일의 tiff는 50 %의 성능을 보였습니다. 이것은 나를 위해 받아 들일 만하다. 압축을 사용하지 않기로 결정할 수도 있습니다. 메모리 문제를 해결하는 것보다 소프트웨어를 멀티 코어 환경에 우호적으로 만드는 것이 더 좋습니다. – Adriaan
감사합니다, Adriaan 우리의 구현은 당연히 원래의 선택 언어보다 느립니다 :-) – Bobrovsky
괜찮습니다. 내 프로젝트 성과는 기능성/유로를 의미합니다. 개발 시간은 비용의 95 %입니다. 나는이를 보상하기 위해 쿼드 코어를 쉽게 던질 수있다. 게다가 내가 압축을 풀면 차이가 작다. 그리고 내 파일은 약 10 % 만 압축하므로 파일 당 약 100MByte입니다 ;-) – Adriaan