7

के बाद पीएनजी छवि गुणवत्ता का नुकसान मैं रेल्स ऐप के लिए छवियों के थंबनेल संस्करण बनाने के लिए CarrierWave::RMagick का उपयोग कर रहा हूं, और छवियों को कम करने पर गुणवत्ता की हानि देखी गई है। यह कुछ हद तक समझ में आता है, क्योंकि हमारे पास डाउनसाइज्ड छवि में कम पिक्सेल है और इसलिए कम गुणवत्ता है, लेकिन मैं बेहतर गुणवत्ता की अपेक्षा करता हूं। मैं आपको एक उदाहरण दिखाने:कैरियरवेव :: RMagick resize_to_fit

OriginalPhotoshop (Bicubic)RMagick

बाएं से दाएं, पहले एक मूल (100x105) है, दूसरा एक फ़ोटोशॉप के Bicubic आकार (95x100) है, और तीसरा का परिणाम है आरएमएजिक का resize_to_fit (95x100)।

इस उदाहरण के लिए मूल छवि थंबनेल की तुलना में केवल थोड़ी बड़ी है, लेकिन मैं मूल रूप से प्रत्येक थंबनेल को 100x100 अधिकतम होने के लिए मजबूर कर रहा हूं। मुझे उम्मीद है कि आप डाउनसाइज्ड छवियों के बीच अंतर देख सकते हैं। फ़ोटोशॉप की गुणवत्ता की तुलना RMagick की तुलना में मूर्खतापूर्ण हो सकती है, लेकिन छवियों को कम करने के लिए क्रोम में भी ज़ूम आउट करना बेहतर गुणवत्ता वाली छवि उत्पन्न करता है।

मैं मूल रूप से CarrierWave अपलोड करने वाले कक्षा में इस का उपयोग कर रहा:

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

कैसे छवि गुणवत्ता सुधार किया जा सकता पर कोई विचार? या यदि RMagick के कोई विकल्प हैं जो बेहतर कर सकते हैं?

संपादित करें: मैंने this की कोशिश की है, हालांकि इससे कोई फर्क नहीं पड़ता। मैंने सोचा कि जेपीईजी छवियों के लिए वैसे भी था।

+0

क्या आपने कभी यह पता लगाया है? – cman77

+1

नहीं, कभी नहीं किया। मुझे एक बेहतर विकल्प भी नहीं मिला, इसलिए मैंने इसे रखा :) – Merott

+0

jpg कई ग्राफिक्स का उपयोग करके कुछ छवियों के साथ मदद करेगा। हालांकि, मुझे संदेह है कि इस मुद्दे को उम्र बढ़ने वाले RMagick एल्गोरिदम के साथ स्केल किया जाता है। फ़ोटोशॉप में परिणाम अलग हैं, मेरा मानना ​​है कि यही कारण है। RMagick के लिए एक वैकल्पिक जंप है लेकिन यह रेल के लिए बिल्कुल अलग है और नहीं बनाया गया है। – Eddie

उत्तर

0

यह समस्या इमेजमैजिक लाइब्रेरी में दिखाई देती है, और कैरियरवेव या रैमिक के लिए विशिष्ट नहीं है।

आप इसे कमांड लाइन पर देख सकते हैं। इन आदेशों के दोनों rmagick रूप में एक ही धुँधली उत्पादन का उत्पादन, ImageMagick की अपनी mogrify आदेश का उपयोग:

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

imagemagick docs सुझाव है कि -resize आदेश (rmagick या minimagick के माध्यम से carrierwave द्वारा प्रयुक्त) एक की तरह छोटे परिवर्तन के लिए धुँधली परिणाम पैदा करता है हम यहां परीक्षण कर रहे हैं, और आप -adaptive-resize कमांड के साथ बेहतर हो गए हैं, लेकिन मेरे त्वरित परीक्षण में मैं बेहतर परिणाम देने में सक्षम नहीं था।

दूसरों के पास reported better results है जो छविमैजिक के बजाय ग्राफिक्समैजिक का उपयोग कर रहा है (जिसे आरएमएजिक से मिनीमैजिक से स्विच करने की भी आवश्यकता हो सकती है), लेकिन मैंने इसका परीक्षण नहीं किया है।