2010-05-31 5 views
3

여러 jpgs 데리고 단일 다중 페이지 Tiff로 변환 할 방법이 필요합니다. 나는 GDI +를 사용하여 작업하고 있지만 무손실 압축 LZW에서만 작동합니다. 이것은 3 개의 50KB Jpg가 3MB의 Tiff 파일로 바뀌는 것을 의미합니다. 이것은 제가 작업중인 소프트웨어에 대해 받아 들일 수있는 것이 아닙니다.손실 압축 ASP.NET 분수 Tiff

Tiff 이미지 형식은 JPG 압축 스키마를 사용할 수 있지만 GDI +는이를 지원하지 않는 것으로 알고 있습니다.

누구든지 .NET (C#) 또는이 변환을 수행하는 구성 요소에서이를 수행하는 방법을 알고 있다면.

답변

3

BitMiracle LibTiff.net은 JPG (다른 모든 Tiff 코덱과 함께) 및 다중 페이지 티프를 지원합니다. 다른 코덱과 결합하여 사용했지만 아주 좋은 경험을했습니다. 또한 잘 테스트됩니다 (단위 테스트 포함). LGPL에서 구입할 수 있습니다. 지원도 매우 좋습니다. (최근에 파일> 2GB와 빠른 응답 및 업데이트 된 코드에서 문제가 발견되었습니다.)

희망이 도움이 될 것입니다. 죄송합니다. 구성 요소에 대해 열정적 인 도움을 줄 수는 없으므로 큰 도움이되었고 무료입니다.

+1

버전 2.0부터 시작 LibTiff.Net은 BSD 라이센스 하에서 모든 용도로 자유롭게 사용할 수 있습니다. – Bobrovsky

+1

많은 노력을 기울여이 라이브러리 (BitMiracle LibTiff.Net)에서 작업을 마친 후 필요한 것보다 더 나은 결과를 얻었습니다. 필요한 파일 크기의 절반으로 컬러 페이징 티프를 저장했습니다. –

1

나는 Atalasoft을 위해 일하고 있으며 .NET 도구를 사용하면 쉽게 할 수 있습니다.

public void CombineIntoTiff(string outputTiff, params string[] inputFiles) 
{ 
    using (FileStream stm = new FileStream(outputTiff, FileMode.Create)) { 
     TiffEncoder enc = new TiffEncoder(); 
     enc.Compression = TiffCompression.JpegCompression; 
     enc.Append = true; 
     foreach (string file in inputFiles) { 
      AtalaImage image = null; 
      try { image = new AtalaImage(file); } catch { continue; } 
      enc.Save(image); 
     } 
    } 
} 

한 가지주의해야 할 TIFF에서 JPEG 압축의 두 가지 종류, 표준 간신히 허용/인정 하나에 의해 제재 하나가 있다는 것입니다. 후자는 이전 스타일의 JPEG라고 불리며 TIFF에 볼트로 고정되어 TIFF의 다른 압축보다 파손 된 파일의 원인이되었습니다. 위의 코드는 표준을 준수하는 JPEG 압축을 사용합니다.

+0

Jpeg 압축 수준은 어떻게 조정합니까? – Don

+0

enc.JpegQuality = someIntegerFrom0to100; – plinth