2011-10-23 3 views
0

나는 jpeg 압축을 사용하여 tiff 파일이 너무 많습니다. Lib.tif라는이 라이브러리를 사용하고 있습니다 .net 버전 매우 훌륭하며 JPEG 압축 (6/7)으로 tiff를 읽고/태그/저장할 수 있습니다. 나도 시도 이미지 매직과 FreeImage 라이브러리 (모두 비슷)Tiff Jpeg 이미지 뷰어 컨트롤 - 무료/opensource

문제 1 닷넷 (2.0/3.5/4.0)의 이미지 뷰어 제어에 JPEG 압축과 Tiff 또는 시청 지원하지 않는다는 것이다. 해결 방법이 있습니까? 또는 Tiff Jpeg 이미지 뷰어 컨트롤 - free/opensource가 있습니까? 비트 맵으로 tiff 부분을 제거하고 이미지 뷰어 컨트롤로 스트리밍 할 수 있습니까? 그렇다면, 제발 나를 안내해 주시겠습니까? 나는 GDpicture 또는 viscom 또는 leedtools 등과 같은 많은 유료 버전이 있지만 무료 버전이 필요하다는 것을 알고 있습니다.

문제 2은 Windows 7 MODI 및 사진 뷰어 및 paint.net 및 다른 응용 프로그램에서 열려있는 파일입니다. (32 비트 및 64 비트 버전). 그러나 Windows XP 팩스 뷰어에서는 동일한 이미지가 열리지 않습니다. 나는 사무실 2007 MODI에도 시도했지만 성공하지 못했습니다. 아이디어 나 해결 방법이 있습니까?

도와주세요.

감사합니다. 감사합니다 프라임

답변

0

이 코드를 사용하면 표시 할 수있는 압축 된 페이지를 추출 할 수 있습니다.

사용되는 커먼스가 "old jpeg"인 경우 문제가 발생할 수 있습니다.이 경우 libtiff 또는 이와 유사한 이미지를 변환해야합니다.

public static Image[] GetFrames(Image sourceImage) 
{ 
    Guid objGuid = sourceImage.FrameDimensionsList[0]; 
    FrameDimension objDimension = new FrameDimension(objGuid); 
    int frameCount = sourceImage.GetFrameCount(objDimension); 
    Image[] images = new Image[frameCount]; 
    for (int i = 0; i < frameCount; i++) 
    { 
     MemoryStream ms = new MemoryStream(); 
     sourceImage.SelectActiveFrame(objDimension, i); 
     sourceImage.Save(ms, ImageFormat.Jpeg); 
     images[i] = Image.FromStream(ms); 
    } 
    return images; 
} 

두 번째 문제는 Windows의 다른 버전의 GDI + 때문에 발생합니다. 불행히도 이전 버전을 업데이트 할 방법이없는 것으로 보입니다. 외부 뷰어 또는 다른 압축을 사용해야 할 수도 있습니다.