2013-01-08 1 views
0

나는 16 비트 tiff를 업로드하고 처리하기 위해 carrierwave-vips (ruby-vips)를 사용하고 있습니다. 16 비트 티파니 만 저장하면 (캐리 어 웨이브 혼자만의 문제는 아니지만) 축소판 (jpeg)을 처리하려고합니다. 문제는 결과 미리보기 이미지가 완전히 날아간다는 것입니다. 내가 무엇을 할 수 있을지?16 비트 tiff와 ​​함께 carrierwave-vips 사용

답변

0

문제는 밴드 레벨을 나타내는 16 비트 digtals가 축소되지 않는다는 것입니다. 당신의 업 로더에 다음 메서드를 추가합니다 버전의

def convert_to_8bit 
    manipulate! do |image| 
     #vips specific 
     image.scale 
    end 
    end 

다음 process: :convert_to_8bit을.

+0

'image.scale'은 이미지를 최대 및 최소로 검색 한 다음 0 - 255에 맞게 크기를 조절합니다. 일부 이미지의 경우 결과가 좋지 않습니다. 16의 상위 8 비트를 가져 가고 싶습니다.'(image >> 8) .clip2fmt : uchar'을 사용합니다. 비트 8을 오른쪽으로 시프트하고, 부호없는 char로 캐스트하십시오. 가장 최근의 libvips (7.32)가 자동으로이 작업을 수행하므로 업데이트도 옵션입니다. – user894763

+0

안녕하세요, 귀하의 의견을 보내 주셔서 감사합니다. 내 현재 이미지 세트에 대한 큰 사용 문제는 아니지만 매우 관련성이 있습니다. 먼저 libvips를 업그레이드하고 문제가 해결되는지 확인하겠습니다. – cgat

+0

7.32로 업그레이드했는데 자동으로 그렇게하지 않는 것 같습니다. 나는 당신이 유지 자라 믿습니다. 내가 벌레를 열어야합니까? 사용중인 파일은 ~ 200MB 회색조 16tiff입니다. – cgat