السبت، 1 يونيو 2013

شرح إعادة تحجيم الصور بنفس الجودة عبر PHP



كثيرًا ما ستحتاج فى برامج إلى إعادة تحجيم الصورة لجعلها صورة رمزية مثلاً لكن مع بقاء نفس الجودة، نستطيع عمل هذا عبر استخدام دالة واحدة، سنستخدمها فى صناعة دالة أخري لإعادة تحجيم الصورة، مع بقاء نفس الجودة.
الفكرة فى إخذ قياسات الصورة ومن ثم وضع تلك القياسات فى شروط معينة، حيث نقول أنها إذا كانت أكبر من حجم معين سنقوم بعرض الصورة عبر HTML بقياسات أقل منها.
سنقوم بإنشاء دالة نسميها مثلاً resizer ونقوم بوضع بارامتران، الأول وهو رابط الصورة والثاني وهو وصف الصورة:
function resizer($_image,$_describe){
}
ثم سنقوم بأخذ قياسات الصورة ونضعها فى مصفوفة:
function resizer($_image,$_describe){
$_array = @getimagesize($_image);
}
الآن الطول والإرتفاع موجودان في الـIndexes رقم 0 و 1 فى المصفوفة الناتجة من دالة getimagesize، والآن يأتي دور محتوى الدالة، حيث أننا سنقوم فى الدالة بمقارنة الطول والعرض إذا كانوا اكبر من 150 فسنجعلهم 150، ومن ثم عرض الصورة.
function resizer($_image,$_describe='image'){
$_array = @getimagesize($_image);
$_array[0] >= 150 ? $_array_do[0] = 'width="150" ' : $_array_do[0] = '';
$_array[1] >= 150 ? $_array_do[1] = 'height="150"' : $_array_do[1] = '';
return '<a href="'.$_image.'"><img title="'.$_describe.'" '.$_array_do[0] . $_array_do[1].' src="'.$_image.'" /></a>';
}


المزيد من المواضيع:

0 التعليقات:

إرسال تعليق