7

나는 Rails 앱용 이미지의 축소판 이미지를 만들기 위해 CarrierWave::RMagick을 사용하고 있으며, 이미지가 축소되면 품질이 저하 된 것으로 나타났습니다. 이는 어느 정도 이해할 수 있습니다. 축소 된 이미지에서 픽셀 수가 적어 품질이 낮기 때문입니다. 그러나 더 나은 품질을 기대합니다. 나는 당신에게 예를 보여CarrierWave :: RMagick resize_to_fit 다음의 PNG 이미지 품질이 손실 됨

왼쪽에서 오른쪽으로 OriginalPhotoshop (Bicubic)RMagick

는, 첫 번째는 원래 (100x105)이고, 두 번째는 포토샵의 바이 큐빅 크기 조정 (95x100)입니다, 그리고 세 번째의 결과입니다 RMagick의 resize_to_fit (95x100)

이 예제의 경우 원래 이미지는 원하는 축소판보다 약간 크지 만 모든 축소판은 기본적으로 100x100 크기가됩니다. 축소 된 이미지의 차이를 볼 수 있기를 바랍니다. Photoshop의 품질과 RMagick의 품질을 비교하는 것은 어리석은 일이지만, 이미지를 더 작게 만들기 위해 Chrome을 축소하는 것조차 더 나은 품질의 이미지를 생성합니다.

나는 기본적으로 CarrierWave 업 로더 클래스에서 이것을 사용하고 있습니다 : 이미지 품질을 개선 할 수있는 방법에

version :thumb do 
    process :resize_to_fit => [100, 100] 
    end 

어떤 아이디어? 또는 RMagick을 대체 할 수있는 것이 있다면 더 잘 할 수 있습니까?

편집 : 아무런 차이가 없지만 this을 시도했습니다. 나는 그것이 어쨌든 JPEG 이미지를위한 것이라고 생각했습니다.

+0

혹시 이것을 알아 냈습니까? – cman77

+1

아니, 결코하지 않았다. 나는 또한 더 나은 옵션을 찾을 수 없어서 참을 수 있었다. :) – Merott

+0

jpg는 많은 그라디언트를 사용하는 특정 이미지를 도울 것이다. 그러나 문제는 스케일링에 사용 된 노화 RMagick 알고리즘 문제라고 생각합니다. 포토샵에서 결과가 다르다, 나는 그것이 원인이라고 믿는다. RMagick의 대안 중 하나는 Jimp이지만 레일과는 완전히 다른 것입니다. – Eddie

답변

0

문제는 imagemagick 라이브러리에있는 것으로 보이며 carrierwave 또는 rmagick에만 국한되지 않습니다.

명령 줄에서 테스트 할 수 있습니다. 이러한 명령은 모두 ImageMagick이 자신의 mogrify 명령을 사용하여, rmagick 같은 흐릿 출력을 생성 :

mogrify -resize 100x100 original.png 
mogrify -resize 100x100 -quality 100 original.png 

imagemagick docs은 (rmagick 또는 minimagick를 통해 carrierwave에서 사용)을 -resize 명령이 같은 작은 변화에 대한 모호한 결과를 생성하는 것이 좋습니다 우리는 여기에서 테스트 중이며, -adaptive-resize 명령으로 더 나을 것이지만, 빠른 테스트에서 더 나은 결과를 얻을 수는 없습니다.

다른 사람은 reported better results을 imagemagick 대신 graphicsmagick을 사용하고 있습니다 (rmagick에서 minimagick으로 전환해야 할 수도 있음). 그러나 이것을 테스트하지 않았습니다.

관련 문제