BitmapImage를 통해로드 할 때 System.OutOfMemoryException을 throw하는 14 비트 픽셀 티피가 14406x9606 픽셀입니다. 전체 깊이 비트 맵으로 약 400 메가의 크기입니다. 이미지를보다 관리하기 쉬운 덩어리로 분할하는 방법이 있습니까? DecodePixelHeight를 사용하여 더 낮은 해상도에서로드하려고 시도했지만이 방법이 효과적이지만 확대/축소 수준이 변경 될 때마다 다시로드해야합니다. 확대/축소 수준이 다른 WPF에서 실제로 큰 이미지를 처리 할 수있는 도구가 있습니까?WPF에서 거대한 tif를 처리하려면 어떻게해야합니까?
4
A
답변
1
직접 처리하는 기능은 없습니다. 언급 한대로 DecodePixelHeight
은 프레임 워크 자체에서 가장 좋은 옵션 일 것입니다.
그러나 C# wrappers for GDAL과 같은 것을 사용할 수 있습니다. GDAL은 피라미드가있는 TIFF 파일을 포함하여 매우 큰 TIFF 파일을 처리하며 전체 파일을 메모리에로드하지 않고 다양한 해상도로 TIFF를 빠르게 열 수 있습니다. 그래도 해상도 변경시 새로 고침/새로 고침이 필요하지만 매우 큰 이미지를 처리하도록 설계되어 있으므로 TIFF 로딩 속도가 프레임 워크의 이미징 클래스보다 약간 빠릅니다.
1
LibTiff.Net 라이브러리를 사용해보십시오. 이것은 순수한 C# 코드로 작성되었으며, 무료 오픈 소스 (상업용 BSD 라이센스)입니다.
LibTiff.Net은 최대 4GB의 TIFF 파일을 처리 할 수 있으며 모든 샘플을 디코딩하지 않고 파일을 여는 데 사용할 수 있습니다. 또한 라이브러리는 멀티 스트립 및 타일링 된 TIFF 파일을 지원합니다.
면책 조항 : 저는 도서관의 관리자 중 한 명입니다.
관련 문제
- 1. WPF에서 마우스 휠 클릭 이벤트를 처리하려면 어떻게해야합니까?
- 2. YQL에서이 응답을 처리하려면 어떻게해야합니까?
- 3. 잘못된 AppDomains를 정상적으로 처리하려면 어떻게해야합니까?
- 4. GWT로 파일 업로드를 처리하려면 어떻게해야합니까?
- 5. 휴대용 JRuby로 보석을 처리하려면 어떻게해야합니까?
- 6. decent_exposure로 자체 조인을 처리하려면 어떻게해야합니까?
- 7. 절차 언어로 예외를 처리하려면 어떻게해야합니까?
- 8. Perl에서 러시아어 텍스트를 처리하려면 어떻게해야합니까?
- 9. iPhone에서 맞춤 태그를 처리하려면 어떻게해야합니까?
- 10. 유료 회원권을 안전하게 처리하려면 어떻게해야합니까?
- 11. WPF에서 커닝을 사용하려면 어떻게해야합니까?
- 12. Perl의 DBI로 유니 코드를 처리하려면 어떻게해야합니까?
- 13. JavaScript로 자바 객체 직렬화를 처리하려면 어떻게해야합니까?
- 14. 배열 필드를 반복적으로 반복 처리하려면 어떻게해야합니까?
- 15. JavaScript (MVC)에서 JSON 결과를 처리하려면 어떻게해야합니까?
- 16. 원격 웹 사이트의 안드로이드 인증을 처리하려면 어떻게해야합니까?
- 17. 파이썬 XML-RPC 출력과 예외를 처리하려면 어떻게해야합니까?
- 18. cygwin에서 Perl 스크립트의 화살표 키를 처리하려면 어떻게해야합니까?
- 19. Sinatra를 사용하여 XML 문서를 처리하려면 어떻게해야합니까?
- 20. 두 Grails 앱간에 보안을 처리하려면 어떻게해야합니까?
- 21. Perl에서 Google Mail의 보조 인증을 처리하려면 어떻게해야합니까?
- 22. Sinatra에서 몽고 이드 오류를 처리하려면 어떻게해야합니까?
- 23. Android에서 강제 닫기 메시지를 처리하려면 어떻게해야합니까?
- 24. 하나의 테이블에서 여러 행 개정을 처리하려면 어떻게해야합니까?
- 25. Spring MVC로 사용자 로그인을 처리하려면 어떻게해야합니까?
- 26. Tkinter에서 창 닫기 이벤트를 처리하려면 어떻게해야합니까?
- 27. Java에서 여러 개의 마우스 입력을 처리하려면 어떻게해야합니까?
- 28. Perl 응용 프로그램에서 HTTP 리디렉션을 처리하려면 어떻게해야합니까?
- 29. VB.NET 문자열 리터럴에서 # 문자를 이스케이프 처리하려면 어떻게해야합니까?
- 30. 웹 애플리케이션에서 동시 변경 사항을 처리하려면 어떻게해야합니까?