मैं एक वेबसाइट पर छवि अपलोड ले रहा हूं और छवियों को 100 x 100 सफेद वर्ग पर फिट थंबनेल में बदल रहा हूं। समस्या यह है कि छवियां दिखती हैं जैसे वे एंटी-एलियास ठीक से नहीं करते हैं। फ़ोटोशॉप में आकार की छवियों को चिकनी लगती है, लेकिन ये तेज दिखने की तरह कुरकुरा दिखती हैं।php imagejpeg गुणवत्ता बदबू आ रही है: क्यों?
these samples पर एक नज़र डालें, दाईं ओर बाएं और थंबनेल पर पूर्ण आकार दिखाएं (100% पर देखें)। फोटो हास्यास्पद रूप से तेज दिखने से बाहर आता है, लेकिन बहुत से लोगों को इससे परेशान नहीं किया जा सकता है। हालांकि ड्राइंग अस्वीकार्य है। उन घुमावदार रेखाएं केवल एंटी-एलियास नहीं हैं और बिंदीदार रेखाएं बनती हैं।
imjpg() का उपयोग कर रहा हूं, और जेपीजी गुणवत्ता का चयन मैं क्रंचनेस पर कोई प्रभाव नहीं डालता हूं। इसके आसपास के कुछ कोड हैं:
$tmp_img = imagecreatetruecolor($maxSize, $maxSize);
$white = ImageColorAllocate ($tmp_img, 255, 255, 255);
ImageFill($tmp_img, 0, 0, $white);
imagecopyresized($tmp_img, $img, $offsetx, $offsety, 0, 0, $new_width, $new_height, $width, $height);
$thumbFullPath = "{$pathToThumbs}/{$filenameNoExtension}.jpg";
imagejpeg($tmp_img, $thumbFullPath, 90);
कोई विचार? क्या यह सामान्य है? धन्यवाद!
90 और 100 के बीच कोई अंतर नहीं होगा। इसके अलावा, मुझे लगता है कि परिणाम को बर्बाद करने वाले सहेजने वाले ऑपरेशन की तुलना में यह स्केलिंग ऑपरेशन अधिक है। इसके अलावा, ओपी ने कहा कि गुणवत्ता को बदलने से कुछ भी बढ़ता नहीं है। – zneak
सही, लेकिन यह मदद कर सकता है ... 10% ... 'imagecopyresampled() 'ने अतीत में मेरे लिए चमत्कार किए हैं। – jordanstephens
सहमत हैं, "imagecopyresized()" –