2012-08-31 25 views
5

मेरे पास उत्पाद पूर्वावलोकन छवियों का एक समूह है, लेकिन वे समान आयाम नहीं हैं।छवि को सहेजने के बिना छवि

तो मुझे आश्चर्य है, क्या यह फसल पर सहेजने के बिना, इसे सहेजने के बिना संभव है?

इन दो लिंक दिखाना चाहिए मैं क्या मतलब है:

http://xn--nstvedhandel-6cb.dk/alpha_1/?side=vis_annonce&id=12

http://xn--nstvedhandel-6cb.dk/alpha_1/?side=vis_annonce&id=13

+2

हां, लेकिन शायद आप इसे * सहेजना चाहते हैं, क्योंकि छवि का आकार बदलना बहुत महंगा है, और आप * हर बार उन्हें और अधिक नहीं करना चाहते हैं। – deceze

उत्तर

5

हाँ इसे यहाँ संभव है कि कैसे मैं यह कर दिया गया है:

//Your Image 
$imgSrc = "image.jpg"; 
list($width, $height) = getimagesize($imgSrc); 
$myImage = imagecreatefromjpeg($imgSrc); 

// calculating the part of the image thumbnail 
if ($width > $height) 
{ 
    $y = 0; 
    $x = ($width - $height)/2; 
    $smallestSide = $height; 
} 
else 
{ 
    $x = 0; 
    $y = ($height - $width)/2; 
    $smallestSide = $width; 
} 

// copying the part into thumbnail 
$thumbSize = 100; 
$thumb = imagecreatetruecolor($thumbSize, $thumbSize); 
imagecopyresampled($thumb, $myImage, 0, 0, $x, $y, $thumbSize, $thumbSize, $smallestSide, $smallestSide); 

//final output 
header('Content-type: image/jpeg'); 
imagejpeg($thumb); 

यह एक verry प्रकाश आपरेशन नहीं है दूसरों की तरह मैं भी अपने फाइल सिस्टम के लिए इसे बनाने के बाद थंबनेल को बचाने के लिए आप की सिफारिश।

आप PHP's GD library देख सकते हैं।

1

यह निश्चित रूप से संभव है, लेकिन क्या आप शायद करना चाहते कर रहे हैं एक अच्छा विचार नहीं है - यहाँ क्यों है।

यदि आप कोई छवि फसल करते हैं, तो इसे सहेजें, आप (या बल्कि आपके सर्वर) को इसे फिर से करने की आवश्यकता नहीं है। यह एक हल्का ऑपरेशन नहीं है।

हालांकि, अगर आप फ्लाई पर फसल डालते हैं, तो आपके सर्वर को यह हर काम करना होगा - जो काफी अक्षम है।

सबसे बुरी स्थिति परिदृश्य के रूप में, स्वचालित रूप से उन आयामों को क्यों न फसल करें (इसे मैन्युअल रूप से करने के बजाए) और केवल उन परिणामों को सहेज लें?

आखिरकार, यह एक दुकान है, यह मैन्युअल रूप से उन्हें अपने उत्पादों को सर्वोत्तम संभव छवियां नहीं देगी - और इस प्रकार उन्हें बेचने का सबसे अच्छा मौका? https://github.com/wes/phpimageresize

कैशिंग के लिए यह भी अनुमति देता है, जो प्रदर्शन के मुद्दों के साथ मदद करनी चाहिए:

2

आप इस सरल स्क्रिप्ट की कोशिश करना चाहते हैं हो सकता है।

लेकिन मैं छवियों का आकार बदलना और थंबनेल के रूप में सहेजना भी पसंद करता हूं।

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