-
February 1st, 2011, 09:36
#1
عضو انجمن
نوشتن متن روی تصویر در php
سلام
من می خوام روی تصاویری که کابرای سایت ارسال می کنن آرم یا آدرس سایتم اضافه بشه.
روس لوکال هاستم جواب می ده اما روی هاست سایتم هیچی نشون نمی ده.
ممنون می شم
کد:
<?php
$button_text = 'www.teztop.com';
if (empty($button_text) )
{
echo 'Could not create image - form not filled out correctly';
exit;
}
// create an image of the right background and check size
$im = ImageCreateFromPNG ('pic_6.jpg');
$width_image = ImageSX($im);
$height_image = ImageSY($im);
// Our images need an 18 pixel margin in from the edge of the image
$width_image_wo_margins = $width_image - (2 * 18);
$height_image_wo_margins = $height_image - (2 * 18);
// Work out if the font size will fit and make it smaller until it does
// Start out with the biggest size that will reasonably fit on our buttons
$font_size = 33;
// you need to tell GD2 where your fonts reside
putenv('GDFONTPATH=C:\WINDOWS\Fonts');
$fontname = 'arial';
do
{
$font_size--;
// find out the size of the text at that font size
$bbox=ImageTTFBBox ($font_size, 0, $fontname, $button_text);
$right_text = $bbox[2]; // right co-ordinate
$left_text = $bbox[0]; // left co-ordinate
$width_text = $right_text - $left_text; // how wide is it?
$height_text = abs($bbox[7] - $bbox[1]); // how tall is it?
}
while ( $font_size>8 &&
( $height_text>$height_image_wo_margins ||
$width_text>$width_image_wo_margins )
);
if ( $height_text>$height_image_wo_margins ||
$width_text>$width_image_wo_margins )
{
// no readable font size will fit on button
echo 'Text given will not fit on button.<br />';
}
else
{
// We have found a font size that will fit
// Now work out where to put it
$text_x = $width_image/2.0 - $width_text/2.0;
$text_y = $height_image/2.0 - $height_text/2.0 ;
if ($left_text < 0)
$text_x += abs($left_text); // add factor for left overhang
$above_line_text = abs($bbox[7]); // how far above the baseline?
$text_y += $above_line_text; // add baseline factor
$text_y -= 2; // adjustment factor for shape of our template
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText ($im, $font_size, 0, $text_x, $text_y, $white, $fontname,
$button_text);
Header ('Content-type: image/jpeg');
ImagePNG ($im);
}
ImageDestroy ($im);
?>
-
-
February 1st, 2011 09:36
# ADS
-
February 1st, 2011, 09:53
#2
عضو انجمن
پاسخ : نوشتن متن روی تصویر در php
روی سرور اصلی کتابخانه و افزونه gd2 برای php فعال هست؟
در اغلب موارد مشکل همینه
-
تعداد تشکر ها از mdf092 به دلیل پست مفید
-
February 17th, 2011, 13:18
#3
عضو انجمن
پاسخ : نوشتن متن روی تصویر در php
فعاله. چون یک جای دیگه هم از تابع ایمج استفاده کردم. مثلا از تابعی که اندازه تصاوبر رو کوچیک می کنه. یا برای نمایش ایمیل ها.
رو لوکال جواب می ده اما روی سرور خالی میاره.
-
-
February 17th, 2011, 14:10
#4
پاسخ : نوشتن متن روی تصویر در php
ممنونم . بسیار مفید و جالب بود . با تشکر .
-
-
February 17th, 2011, 15:08
#5
عضو انجمن
--- پایگاه تخصصی ایاک بوک - شرکت هنر عمران ایرانیان ---
-
-
February 18th, 2011, 00:43
#6
عضو انجمن
پاسخ : نوشتن متن روی تصویر در php
-
-
February 20th, 2011, 06:21
#7
عضو دائم
پاسخ : نوشتن متن روی تصویر در php
اول اسكريپت بزن :
کد PHP:
error_reporting(-1);
و فايل error_log رو هم چك كن
خطا رو بگو تا ببينيم مشكل كجاست.
-
-
February 23rd, 2011, 15:05
#8
پاسخ : نوشتن متن روی تصویر در php
سلام
اولا اطلاعاتي كه دادي خيلي كمه ، نبايد توقع داشته باشي كمك بسزايي كنم اما چند تا راهنمايي كلي مي كنم
1-os local hostet چيه؟ ويندوز لينوكس؟
2-iis استفاده مي كني يا wamp يا apache؟
اگر ا سورس كد كامپايل كرده باشي بايد با ماجول هاي gd كامپايل كني. اگر iis ، بايد فايل gd رو داشته باشي تو extension هات.
اما قبل از اين كارها يه صفحه درست كن و خروجي phpinfo() رو ببين و بزار اينجا ببين توش جدولي به اسمgd هست؟
و اگر gd وجود داشت يك اسكريپت ديگه اجرا كن و داخلش خروجي gd_info() رو ببين و read & creat ساپورت ها رو براي فرمت هاي مختلف چك كن ، اگر مقدار هر فرت مساوي 1 باشه ساپورت ميشه و اگر مقدار نداشته باشه ساپورت نميشه.
نكته ي بعد تو اسكريپي كه گذاشتي
$im = ImageCreateFromPNG ('pic_6.jpg');
ازimagecreatefromPNG استفاده كردي بعد فايلت jpeg هست؟!!!
گفتي اندازه تصوير رو تونستي تغغير بدي با كدوم يكي از تابع هاي زير؟
ImageCopyResampled يا ImageCopyResized ؟
در ضمن تو اسكريپتت ديدم كه از putenv('GDFONTPATH=C:\WINDOWS\Fonts'); استفاده كردي ، حواست هست كه اگه سرور اينوكس باشه بايد path فونت رو غوض كني چون داري از TTF استفاده مي كني
يا حق
---------- Post added at 03:05 PM ---------- Previous post was at 03:05 PM ----------
سلام
اولا اطلاعاتي كه دادي خيلي كمه ، نبايد توقع داشته باشي كمك بسزايي كنم اما چند تا راهنمايي كلي مي كنم
1-os local hostet چيه؟ ويندوز لينوكس؟
2-iis استفاده مي كني يا wamp يا apache؟
اگر ا سورس كد كامپايل كرده باشي بايد با ماجول هاي gd كامپايل كني. اگر iis ، بايد فايل gd رو داشته باشي تو extension هات.
اما قبل از اين كارها يه صفحه درست كن و خروجي phpinfo() رو ببين و بزار اينجا ببين توش جدولي به اسم هست؟
و اگر gd وجود داشت يك اسكريپت ديگه اجرا كن و داخلش خروجي gd_info() رو ببين و read & creat ساپورت ها رو براي فرمت هاي مختلف چك كن ، اگر مقدار هر فرت مساوي 1 باشه ساپورت ميشه و اگر مقدار نداشته باشه ساپورت نميشه.
نكتهي بعد تو اسكريپي كه گذاشتي
$im = ImageCreateFromPNG ('pic_6.jpg');
ازimagecreatefromPNG استفاده كردي بعد فايلت jpeg هست؟!!!
گفتي اندازه تصوير رو تونستي تغغير بدي با كدوم يكي از تابع هاي زير؟
ImageCopyResampled يا ImageCopyResized ؟
در ضمن تو اسكريپتت ديدم كه از putenv('GDFONTPATH=C:\WINDOWS\Fonts'); استفاده كردي ، حواست هست كه اگه سرور اينوكس باشه بايد path فونت رو غوض كني چون داري از TTF استفاده مي كني
-
تعداد تشکر ها از mtchivarly به دلیل پست مفید
-
February 23rd, 2011, 16:15
#9
عضو انجمن
پاسخ : نوشتن متن روی تصویر در php
در ضمن تو اسكريپتت ديدم كه از putenv('GDFONTPATH=C:\WINDOWS\Fonts'); استفاده كردي ، حواست هست كه اگه سرور اينوكس باشه بايد path فونت رو غوض كني چون داري از TTF استفاده مي كني
فکر کنم مشکلم همین بوده باشه.
روی لوکال منظورم Easy PHP بوده. حالا ببینم اینو بزارم چی در میاد
-
-
February 23rd, 2011, 16:50
#10
-