المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : [whem] درس الكتابة على الصورة


وحيد
12/02/2007, 09:04 PM
السلام عليكم ورحمة الله وبركاته

اخواني اقدم لكم درس بسيط وتطبيق سهل للكتابة على الصور مع التحكم باللون والحجم والمكان


ايضا شرحت معاه كيفية دمج صورة صغيرة على الصورة الاصلية

اتمنى يكون الشرح وافي

<?

//الملف الذي سيتم الكتابة عليه
$mm1 = "df.jpg";
//الصورة الثانية التي سيتم دمجها
$mm2 = "wh.jpg";

//انشاء صورة جديدة من الصورة المعطاة
$img= imagecreatefromjpeg($mm1);
//$img هو مقبض الصورة الذي سيتم الكتابة عليها



//انشاء صورة جديدة من الصورة التي سيتم دمجها
$im2 = imagecreatefromjpeg($mm2);



//حجم الخط
$txtfontsize=20;

//الاحداثي السيني
$zz1=50;

//الاحداثي الصادي
$zz2=50;

//لون النص
function mkcolor($image,$color){
$color = str_replace("#","",$color);
$red = hexdec(substr($color,0,2));
$green = hexdec(substr($color,2,2));
$blue = hexdec(substr($color,4,2));
$out = ImageColorAllocate($image, $red, $green, $blue);
return($out);
}
//مرر كود اللون بصيغة html
// للدالة ليتم تحويله إلى ألوان حقيقة
$text_color = mkcolor($img,"#000000");

//نوع الخط الذي سيتم الكتابة به

//النص الذي سيتم كتبته
$writtext="wh-em.com";

//الكتابة على الصورة
imagettftext($img,$txtfontsize, 0, $zz1, $zz2, $text_color, "fonts/verdana.ttf",$writtext);



//دمج الصورة الصغيرة على الصورة الكبيرة
/*
لاحظ الرقم 10 هو الاحداثي السيني
والرقم 50 الاحداثي الصادي
*/
imageCopyMerge($img, $im2,10,50,0,0,(imageSX($im2)),(imageSy($im2)),100 );



//تخزين الصورة الجديدة في الذاكرة
ob_start();
Imagejpeg($img,'',100);
$Image= ob_get_contents();
ob_end_clean();

//اسم الملف الجديد
$name3="as.jpg";
$fd = fopen ($name3, "w");
fwrite ($fd, $Image);
fclose ($fd);


//طباعة الصورة
echo"<img src='as.jpg'>";


?><body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">



اتمنى يفيدكم

اي ملاحظات اخرى
او استفسارات انا حاضر ان شاء الله

المثال في المرفق


ودمتم بخير

رائد العجيلي
25/02/2007, 04:31 AM
درس حلو ومفيد كتير

كل الشكر لك اخي وحيد

دمت بكل خير

l 9oo6 l
05/06/2007, 07:06 AM
اخوي الدرس ممتاز جداً بس يا ليت تغيرت او تحدثة الى

نفس البرنامج بس الكتابة على الصورة في اقصى المين او في المنتصف او اليسار
الجميع بالاسفل

وبدون دمج صورة صغيرة على الصورة الاصلية

لان الدمج الصورة الصغيرة هو اللي ما احتاجه بس احتاج الكتابة على الصورة


وشكراً لك مقدماً

وحيد
05/06/2007, 11:53 AM
السلام عليكم اهلا بك اخي رائد

l 9oo6 l
هذا شرح وليس برنامج لاستخدامه
شرح لفكرة الاستخدام ويمكن لك التطوير حسب ماتريده في برنامج

l 9oo6 l
06/06/2007, 12:45 AM
شكراً لك اخوي وحيد الله يجزاك خير

l 9oo6 l
10/06/2007, 06:07 AM
اخوي وحيد جربت البرنامج ما شاء الله تبارك الله ممتاز جداً

بس صادفني مشكلة بسيطة وهي

ان البرنامج ما يقبل مزج صورة gif مع jpg
بس هذا ليس ضروري الى حد كبير

المهم هو -----------
الاحداثيات

بالنسبة لاحداثيات اي صورة تختلف عن الاخرى

شلون اخلي البرنامج او السكربت نفسه يعرف الاحداثيات

يعني اذا ابي البرنامج هذا يكشف اسفل الصورة في اليسار ويكتب النص المرغوب بالكتابة به
؟؟؟

وحيد
11/06/2007, 08:39 AM
غير احداثي السيني إلى 0

والإحداثي الصادي إلى نفس ارتفاع الصورة
imageSy($im)
دمج الصور يقبل اي نوع
يمكنك تحديد الانواع من هنا

$img= imagecreatefromjpeg($mm1);
و
$im2 = imagecreatefromjpeg($mm2);


والسلام عليكم

l 9oo6 l
13/06/2007, 11:20 AM
شكراً لك يالامبراطور

أعز الناس
02/10/2007, 11:40 PM
شكراً لك أخي الكريم

camoresti
06/06/2009, 10:38 AM
شكرا أخي الفاضل. درس رائع يستحق كل التقدير
تحياتي

______________
عصام (Camoresti)
منتديات غياهب الموت (http://www.la-mort.info/vb)