چسباندن دو عکس به یکدیگر، در جهت عمودی، در PHP
فرض کنید که دو عکس داریم و می خواهیم که آن دو را با یک سری کد، در جهت عمودی، به یکدیگر متصل کنیم. یعنی عکسی ساخته می شود که عکس اول در بالای آن و عکس دوم در پایین آن قرار می گیرد و عرض (width) عکس ترکیب شده، برابر ماکزیمم اندازه عرض آن دو عکس می باشد. برای این منظور، می توانیم از کدهای PHP استفاده کنیم. دقت کنید که در کدهای PHP ، از توابع مربوط به کتابخانه GD استفاده خواهیم کرد که در شماره های جدید PHP وجود دارد، البته خیلی نگران نباشید چون دیگر اکثر سرورها، از جدیدترین نسخه های PHP استفاده می کنند.
فرض کنید که عکس اول (عکسی که در بالا قرار می گیرد) دارای نام image1.png باشد و عکس دوم (عکسی که در پایین قرار می گیرد)، دارای نام image2.png باشد و هر دوی آنها را در همان فولدر حاوی صفحه PHP قرار داده باشیم، کدهای PHP زیر را می نویسیم :
عکس اول به صورت زیر می باشد :
و عکس دوم که باید در پایین عکس قبلی قرار بگیرد، به صورت زیر است :
بعد از اجرای کدها، یک عکس با نام merged_image.png درون همان فولدر حاوی فایل PHP شامل کدها، ساخته می شود که به صورت زیر می باشد :
همان طور که مشاهده می کنید، چون عکس اول دارای عرض کمتری بوده است، بنابراین در کنار آن، به جای قسمتی که خالی می ماند، رنگ سیاه نمایش داده شده است.
شرح کدهای PHP :
برای باز کردن عکس های با پسوند png و ذخیره اطلاعات آنها در حافظه، تابع imagecreatefrompng به کار می رود :
ابتدا با تابع imagecreatetruecolor ، یک عکس (image source) ساخته ایم (استفاده از این تابع، باعث می شود که رنگ های دو عکس، حفظ شوند و تغییری در رنگ ها، هنگام ساخت عکس نهایی، نداشته باشیم). سپس با تابع imagecopy ، دو عکس دیگر را در آن قرار داده ایم :
تابع imagepng برای ساخت یا ذخیره (save) یک عکس با فرمت PNG به کار می رود :
تابع imagedestroy برای آزاد کردن حافظه اشغال شده توسط اطلاعات عکس، به کار می رود (اطلاعات عکس را از حافظه پاک می کند) :
سلام سایتتون واقعا حرف نداره
داداش چرا عکس سیاه برگردوند؟؟؟؟