2011-03-12 16 views
17

resizeImage और scaleImage के बीच अंतर क्या हैं?इमेजिक :: आकार बदलें छवि बनाम इमेजिक :: स्केल इमेज

मैं एक छवि का आकार करने के लिए करता है, तो इसके आकार> $ myLimit

उदाहरण (स्यूडोकोड) है की जरूरत है:

$myLimit = 1MB 
user uplaod an image of 1000x1000 of 2MB 
2MB > $myLimit 
while($imagefilesize > $myLimit ) { 
    resizeImageBy 0.9%; 
} 

//> output 900x900 image of 900 kB 

while ब्लॉक में दो तरीकों में से जो मैं इस्तेमाल करना चाहिए?

संपादित करें: मुझे कुछ ऐसा मिला जो मदद कर सकता है: http://www.imagemagick.org/Usage/resize/ लेकिन क्या कोई इसे सरल बना सकता है?

imagick::INTERPOLATE_AVERAGE 
imagick::INTERPOLATE_BICUBIC 
imagick::INTERPOLATE_BILINEAR 
... 

कि बेहतर परिणाम की संभावना है:

+0

ओह बकवास। तय किया गया है इसका आकार बदलें छवि बनाम पैमाने – dynamic

+0

* आकार * से आपका क्या मतलब है? चौड़ाई? ऊंचाई? – ifaour

+0

@if: हाँ ........ – dynamic

उत्तर

21

दोनों के बीच अंतर है, जबकि resizeImagean interpolation filter उपयोग कर सकते हैं, कि scaleImage एक कच्चे, पिक्सेल आधारित आकार बदलने करता हो रहा है।

Wikipedia पर विभिन्न इंटरपोलेशन विधियों पर अधिक।

+0

@yes मुझे नहीं पता, मैं इन फिल्टर को गहराई से नहीं जानता। मैं प्रत्येक की कोशिश करता हूं, और परिणामों की गुणवत्ता –

+3

@ yes123: [यहां] (http://www.docstoc.com/docs/33154923/ फ़िल्टर-for-Common-Resampling- कार्य) आपको एक मिलेगा पेपर कह रहा है कि लैंक्सोस वास्तव में एक अच्छी पसंद है :)। बस लैंगोज़ अनुभाग पढ़ें, इसमें निष्कर्ष है! [संपादित करें] हम्म पेपर 1 99 0 से है, काफी पुराना हो सकता है। और इसके बारे में सोचने के लिए आओ .. चूंकि आप संकल्प को कम कर रहे हैं, इसलिए इसे इतना ज्यादा नहीं चाहिए। आप बॉक्स फ़िल्टर का भी उपयोग कर सकते हैं, बस सुनिश्चित करने के लिए कुछ छवियों का परीक्षण करें। – Yuri

+0

@yes मुझे नहीं पता कि आप स्केलिंग के साथ हल करने की कोशिश कर रहे हैं - फ़ाइल आकार या संकल्प। मुझे लगता है कि आपको इसके बारे में एक नया सवाल पूछना चाहिए, और समझाएं कि आपका लक्ष्य –

1

शानदार, उनका स्वयं का दस्तावेज भयानक है ... लेकिन ठीक है: यह मुझे आकार बदलने जैसा लगता है छवि अधिक शक्तिशाली है, और इसलिए बेहतर विकल्प ... This link विभिन्न फ़िल्टरों के लिए कुछ माप के साथ उपयोग दिखाता है।

+0

है .. यहां डॉकू की कमी है .. संभवतः जीडी "अंतर्निर्मित" है और हर कोई इसका उपयोग करता है (यहां तक ​​कि वे भी sux) – dynamic

0

मेरी खोज के अनुसार, जब आप किसी छवि को स्केल करना चाहते हैं, तो आकार बदलें इमेज का उपयोग करें। क्योंकि यह आपको छवि गुणवत्ता और उस फ़िल्टर के प्रकार पर नियंत्रण देता है जिसका आप उपयोग करना चाहते हैं। लेकिन इसी मामले में, स्केल इमेज भी एक अच्छा विकल्प है क्योंकि जब आपको 10 के कारक द्वारा कहने के लिए एक छवि को स्केल करना होता है और आप आकार बदलने का उपयोग कर रहे हैं, तो आपकी परिणामी छवि में कई ग्राफिकल त्रुटियां होंगी।

दूसरे मामले में, जब आपको स्केल अप और छवि को स्केल करना होता है, तो आकार बदलें इमेज निश्चित रूप से ग्राफिकल त्रुटि होगी जैसे कि अंक और रेखाएं और अन्य सामान। उस स्थिति में, स्केल इमेज बचाव के लिए आएगा।

संबंधित मुद्दे