در اين مقاله خواهيم آموخت كه چگونه براي تصاوير خود؛ thumbnail ايجاد كنيم. البته اين مقاله صرفا به بررسي ايجاد يك نوع نمايش كوچكتر از تصوير نمي پردازد بلكه قابليت اين را نيز دارد كه تنها بخشي از تصوير اصلي را به صورت thumbnail در بياورد. همچنين ابعاد تصوير thumbnail پويا ميباشد.
در ابتداي امر ما 3 متغير داريم كه در زمان فراخواني اسكريپت بازيابي ميشوند. $image حاوي URL كامل تصويري است كه ميخواهيم از آن thumbnail بسازيم.
$newWidth و $newHieght عرض و طول بخشي هستند كه ميخواهيم از آن thumbnail ايجاد شود.
$image = $HTTP_GET_VARS['image'];
$newWidth = $HTTP_GET_VARS['width'];
$newHeight = $HTTP_GET_VARS['height'];
براي فهميدن اينكه عرض و طول كامل تصويرمان چقدر است و ذخيره آن در متغيرهاي مذكور از كد زير استفاده ميكنيم:
$size = GetImageSize($image);
$width = $size[0];
$height = $size[1];
سپس طول و عرض تصوير اصلي را از طول و عرض thumbnail كم ميكنيم
$width = $width-$newWidth;
$height = $height-$newHeight;
سپس ابعاد مكاني در تصوير اصلي كه thumbnail بايد از آنجا شروع به ايجاد شدن بكند را توليد ميكنيم. اين كار را به روشهاي متعددي ميتوان انجام داد اما ما در اينجا براي سادگي نصف طول و عرض را انتخاب كرده ايم.
$x = $width/2;
$y = $height/2;
بخش بعدي كد يك كپي از تصوير را درون تصوير ديگري به نام $src ايجاد ميكند
$src = ImageCreateFromJpeg($image);
سپس يك تصوير خالي ايجاد ميكنيم تا بعدا بعنوان thumbnail مورد استفاده قرار گيرد
$tmb = ImageCreateTrueColor($newWidth,$newHeight);
اكنون ميتوانيم thumbnail را ايجاد كنيم. اين كار را با استفاده از كد زير انجام ميدهيم.
ImageCopy($tmb, $src, 0, 0, $x, $y, $newWidth, $newHeight);
حال كافي است تا تصوير thumbnail ايجاد شده را نمايش دهيم
header('Content-type: image/jpeg');
ImageJpeg($tmb, null, 100);
و در نهايت تصاوير موقت ايجاد شده درون حافظه را حذف مينماييم
ImageDestroy($src);
ImageDestroy($tmb);
ImageDestroy($thumb);
از اين اسكريپت ميتوانيم در مكانهاي بسياري استفاده نماييم. به عبارت ديگر هركجا كه ميتوانيم از تصوير استفاده كنيم قادر به استفاده از thumbnail نيز خواهيم بود. مثلا به تگ زير دقت كنيد :
<img src="thumbnail.php?image=http://www.mysite.com/image.jpg&width=50&height=50" />
براي دانلود كد كامل برنامه
را كليك كنيد