اسکریپت باران
بزرگترین مرجع دانلود سورس و اسکریپت های برنامه نویسی
فرض کنید که دو عکس داریم و می خواهیم یک عکس بر روی عکس دیگر قرار داده شود. مثلا فرض کنید که کاربران در سایت شما، تصویر آپلود می کنند و شما قصد دارید که لوگوی (logo) سایت خود را که به صورت یک عکس می باشد، بر روی تصاویر آپلود شده توسط کاربران قرار بدهید. برای این منظور، می توانیم از کدهای PHP استفاده کنیم. دقت کنید که در کدهای PHP ، از توابع مربوط به کتابخانه GD استفاده خواهیم کرد که در شماره های جدید PHP وجود دارد، البته خیلی نگران نباشید چون دیگر اکثر سرورها، از جدیدترین نسخه های PHP استفاده می کنند.
فرض کنید که عکس اصلی دارای نام image.jpeg باشد و عکس لوگوی سایت، دارای نام logo.png باشد و هر دوی آنها را در همان فولدر حاوی صفحه PHP قرار داده باشیم، کدهای PHP زیر را می نویسیم :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php $image_name='image.jpeg'; $logo_name='logo.png'; $im_1 = imagecreatefromjpeg($image_name); $im_2 = imagecreatefrompng($logo_name); echo "<img src=\"".$image_name."\">"; $marge_right = 10; $marge_bottom = 10; $sx = imagesx($im_2); $sy = imagesy($im_2); imagecopy($im_1, $im_2, imagesx($im_1) - $sx - $marge_right, imagesy($im_1) - $sy - $marge_bottom, 0, 0, imagesx($im_2), imagesy($im_2)); $second_image_name='image_with_logo.png'; imagepng($im_1, $second_image_name); echo "<br /><br />"; echo "<img src=\"".$second_image_name."\">"; imagedestroy($im_1); imagedestroy($im_2); ?> |
بعد از اجرای کدها، یک عکس با نام image_with_logo.png درون همان فولدر حاوی فایل PHP شامل کدها، ساخته می شود که به آن، طرح (watermark – stamp – logo) مورد نظرمان افزوده شده است،
برای باز کردن عکس های با پسوند jpg و jpeg و ذخیره اطلاعات آنها در حافظه، تابع imagecreatefromjpeg و برای عکس های با پسوند png ، تابع imagecreatefrompng به کار می رود :
1 2 |
$im_1 = imagecreatefromjpeg($image_name); $im_2 = imagecreatefrompng($logo_name); |
تابع imagecopy برای قرار دادن لوگو بر روی عکس دیگر به کار رفته است. از تابع imagecopy ، به صورت زیر استفاده کرده ایم :
1 |
imagecopy($im_1, $im_2, imagesx($im_1) - $sx - $marge_right, imagesy($im_1) - $sy - $marge_bottom, 0,0, imagesx($im_2), imagesy($im_2)); |
تابع imagepng برای ساخت یا ذخیره (save) یک عکس با فرمت PNG به کار می رود :
1 |
imagepng($im_1, $second_image_name); |
تابع imagedestroy برای آزاد کردن حافظه اشغال شده توسط اطلاعات عکس، به کار می رود (اطلاعات عکس را از حافظه پاک می کند) :
1 2 |
imagedestroy($im_1); imagedestroy($im_2); |
کانال تلگرامی اسکریپت باران
برای اطلاع از آپدیت های این سورس و سورس های دیگر اسکریپت باران، در کانال تلگرام ما عضو شویدبرنامه نویسی را معنایی دوباره بخشیم !