بستن منو
۱۶۵
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مباحث اولیه برای آشنایی با PHP
15
آرایه ها در PHP
11
انواع متغیرها و تبدیلات متغیرها در PHP
11
رشته ها (متن ها - strings) و کاراکترها در PHP
24
توابع در PHP
2
کوکی ها (cookie) در PHP
3
تاریخ و زمان در PHP
3
عملیات های ریاضی در PHP
13
فرم ها در PHP
4
کار با عکس ها در PHP
7
کار با فایل ها و پوشه ها (folder) در PHP
35
کار با ایمیل در PHP
1
برنامه نویسی شیء گرا (OOP) در PHP
4
پردازش فایل های XML ، در PHP
1
امنیت در PHP
1
پیاده سازی درگاه های پرداخت آنلاین، با کدهای PHP
1
خطاها و خطایابی، در PHP
1
کار با نرم افزار شبیه ساز سرور wampserver
1
کار با نرم افزار شبیه ساز سرور XAMPP
1
کتابخانه CURL در PHP
2
ساختار JSON ، در PHP
2
مباحث عمومی در PHP
22
×

دانلود فروشگاه اندروید کلیدستان

467

نویسنده

علیرضا گلمکانی ( admin )

شماره کلید
دسته کلید - دسته بندی

افزودن یک طرح (watermark - stamp) شامل متن و کادر مستطیلی و به صورت نیمه شفاف، بر روی یک عکس موجود، در PHP

فرض کنید که یک عکس داریم و می خواهیم که یک طرح (watermark - stamp) در گوشه پایین و سمت راست آن عکس قرار بدهیم. طرح شامل دو متن خواهد بود که آنها را در کدها تعیین می کنیم و یک کادر مستطیلی شکل هم به دور آن دو متن، ساخته می شود. این طرح به صورت نیمه شفاف خواهد بود و میزان شفافیت را هم می توانیم تغییر بدهیم. دقت کنید که از توابع کتابخانه GD (یعنی GD library) استفاده می کنیم که در شماره های جدید PHP موجود است (بعید است که نسخه PHP شما، آنها را نداشته باشد).

فرض کنید که عکس اصلی دارای نام image.jpeg باشد و آن را در همان فولدر حاوی صفحه PHP قرار داده باشیم، کدهای PHP زیر را می نویسیم :


<?php
// Load the stamp and the photo to apply the watermark to
$image_name='image.jpeg';
$im = imagecreatefromjpeg($image_name);
echo "<img src=\"".$image_name."\">";

// First we create our stamp image manually from GD
$stamp = imagecreatetruecolor(180, 70);
imagefilledrectangle($stamp, 0, 0, 179, 69, 0x0000FF);
imagefilledrectangle($stamp, 9, 9, 170, 60, 0xFFFFFF);
$im = imagecreatefromjpeg($image_name);
imagestring($stamp, 5, 20, 20, 'kelidestan.com', 0x0000FF);
imagestring($stamp, 3, 20, 40, 'keys', 0x0000FF);

// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Merge the stamp onto our photo with an opacity of 50%
imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50);

// Save the image to file and free memory
$second_image_name='image_stamp.png';
imagepng($im, $second_image_name);
echo "<br /><br />";
echo "<img src=\"".$second_image_name."\">";
imagedestroy($im);
?>

عکس اصلی به صورت زیر می باشد :

افزودن یک طرح (watermark - stamp) شامل متن و کادر مستطیلی و به صورت نیمه شفاف، بر روی یک عکس موجود، در PHP

بعد از اجرای کدها، یک عکس با نام image_stamp.png درون همان فولدر حاوی فایل PHP شامل کدها، ساخته می شود که به آن، طرح (watermark - stamp) مورد نظرمان افزوده شده است، یعنی به صورت زیر :

افزودن یک طرح (watermark - stamp) شامل متن و کادر مستطیلی و به صورت نیمه شفاف، بر روی یک عکس موجود، در PHP

شرح کدهای PHP :

برای باز کردن عکس های با پسوند jpg و jpeg و ذخیره اطلاعات آنها در حافظه، تابع imagecreatefromjpeg به کار می رود :


$im = imagecreatefromjpeg($image_name);

درون تابع imagecreatetruecolor ، اندازه طول و عرض کادر مستطیلی را نوشته ایم :


$stamp = imagecreatetruecolor(180, 70);

اگر دقت کنید، کادر دور متن ها، خود از دو مستطیل توپر با اندازه ها و رنگ های مختلف تشکیل شده است که باعث می شوند که روی هم قرار گرفتن آنها، کادر مورد نظرمان را بسازد (مستطیل توپر با تابع imagefilledrectangle ساخته می شود). مختصات x و y دو نقطه شروع و پایان کادرهای مستطیلی را درون پرانتز تابع imagefilledrectangle نوشته ایم (رنگ مستطیل ها نیز درون پرانتز تابع imagefilledrectangle نوشته شده است) :


imagefilledrectangle($stamp, 0, 0, 179, 69, 0x0000FF);
imagefilledrectangle($stamp, 9, 9, 170, 60, 0xFFFFFF);

دو متن مورد نظرمان را با تابع imagestring ساخته ایم و متن مورد نظر، محل قرارگیری آنها و نیز رنگشان را هم درون پرانتز تابع imagestring ذکر کرده ایم :


imagestring($stamp, 5, 20, 20, 'kelidestan.com', 0x0000FF);
imagestring($stamp, 3, 20, 40, 'keys', 0x0000FF);

تابع imagesx ، عرض (width) عکس را برمی گرداند و تابع imagesy ، ارتفاع (height) عکس را بر می گرداند.

تابع imagecopymerge برای کپی کردن یک بخش از یک عکس به درون عکس دیگر به کار می رود. ما از تابع imagecopymerge ، به صورت زیر استفاده کرده ایم :


imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50);

آخرین پارامتر نوشته شده درون پرانتز دستور imagecopymerge ، برابر 50 در نظر گرفته شده است، این پارامتر، میزان شفاف بودن طرح را تعیین می کند. 50 به معنای 50 درصد است. اگر این عدد را به 0 تغییر بدهیم، اصلا طرح بر روی عکس اصلی نمایش داده نمی شود و اگر عدد را به 100 تغییر بدهیم، طرح بدون هیچگونه شفافیتی، بر روی عکس اصلی قرار می گیرد و آن را می پوشاند (پس زمینه آن که بخشی از عکس اصلی است، قابل دیدن نیست).

تابع imagepng برای ساخت یا ذخیره (save) یک عکس با فرمت PNG به کار می رود :


imagepng($im, $second_image_name);

تابع imagedestroy برای آزاد کردن حافظه اشغال شده توسط اطلاعات عکس، به کار می رود (اطلاعات عکس را از حافظه پاک می کند) :


imagedestroy($im);

کپی برداری از محتوای سایت کلیدستان، ممنوع بوده و پیگرد قانونی دارد. (تنها استفاده شخصی کاربر، مجاز است) (کپی برداری توسط سایر وب سایت ها = حرام) (بیشتر بدانید)

خوانده شد
مبحث بالا، مفید بود و سایت کلیدستان را دوست داشتم :
محبوب کردن این مبحث در گوگل :
اون چیزی که میخواستم نبود :
سوال دارم :
ارسال نظر :
نظرات 0 0 0

*** نظر بدهید

دسترسی سریع

×

شماره کلید


کلید
×

شماره دسته کلید


دسته کلید
×

جستجو


جستجو

راهنمای توابع PHP

راهنمای توابع PHP بر اساس حرف اول تابع :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

بستن منو
۵۳۶
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مجموعه ویدئوهای آموزشی PHP - مجموعه PHP Tutorials - از thenewboston.com
200
مجموعه ویدئوهای آموزشی PHP - مجموعه PHP Tutorials
69
مجموعه ویدئوهای آموزشی PHP برای مبتدیان - مجموعه PHP beginners tutorials
55
مجموعه ویدئوهای آموزشی ساخت دانلودر اینستاگرام با استفاده از PHP - مجموعه PHP Instagram Downloader Tutorial - از thenewboston.com
10
مجموعه ویدئوهای آموزشی PHP Stock Market Analyzer - مجموعه PHP Stock Market Analyzer - از thenewboston.com
20
مجموعه ویدئوهای آموزشی امنیت در PHP - مجموعه PHP Security
10
مجموعه ویدئوهای آموزشی امنیت در PHP - مجموعه PHP Security
6
مجموعه ویدئوهای آموزشی برنامه نویسی شیء گرا (OOP) در PHP - مجموعه PHP Object Oriented Programming (OOP)
13
مجموعه ویدئوهای آموزشی ساخت شبکه اجتماعی، با استفاده از PHP - مجموعه Social Network with PHP
37
مجموعه ویدئوهای آموزشی ساخت سیستم شناسایی کاربران، با استفاده از PHP - مجموعه PHP Authentication System
33
مجموعه ویدئوهای آموزشی ساخت آپلودر فایل (برای چندین فایل) با امکان نمایش پیشرفت آپلود، با استفاده از AJAX و بر اساس PHP - مجموعه AJAX Multiple File Uploader & Progress Bar
10
مجموعه ویدئوهای آموزشی ثبت نام و ورود و خروج کاربران، در PHP - مجموعه Register & Login
47
مجموعه ویدئوهای آموزشی PHP و MySQL ، با استفاده از MySQLi - مجموعه PHP and MySQL with MySQLi
9
مجموعه ویدئوهای آموزشی ساخت فایل PDF از HTML و CSS ، در PHP - مجموعه Generating PDF files from HTML and CSS
7
بستن منو
۵۰
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مباحث اولیه برای آشنایی با MySQL
13
خواندن اطلاعات کلی پایگاه های داده (databases)، در MySQL
3
خواندن اطلاعات از جدول ها (tables)، در MySQL
13
تغییر دادن اطلاعات جدول ها (tables)، در MySQL
4
شیوه های اشاره به ردیف های (rows) جدول (table)، در MySQL
1
تبدیل های مرتبط با پایگاه داده MySQL
1
query های آماده برای ساخت جدول های دارای اطلاعات، برای تست های کدنویسی، در MySQL
2
کار با اعداد، در MySQL
3
استفاده از کلاس mysqli در PHP ، برای کار با پایگاه داده MySQL
4
برنامه phpMyAdmin ، برای کار با پایگاه داده MySQL
2
مباحث عمومی در MySQL
4
بستن منو
۳۳
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مجموعه ویدئوهای آموزشی پایگاه داده MySQL - مجموعه MySQL Database Tutorial - از thenewboston.com
33
بستن منو
۵۸
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مباحث اولیه برای آشنایی با HTML
24
نمایش متن، در HTML
5
نمایش عکس، در HTML
5
لینک ها (Link)، در HTML
1
لیست ها (List)، در HTML
1
جدول ها (Table)، در HTML
2
فرم ها (Form)، در HTML
10
مباحث عمومی، در HTML
10

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)