PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نوشتن متن روی تصویر در php



teztop
February 1st, 2011, 09:36
سلام
من می خوام روی تصاویری که کابرای سایت ارسال می کنن آرم یا آدرس سایتم اضافه بشه.
روس لوکال هاستم جواب می ده اما روی هاست سایتم هیچی نشون نمی ده.
ممنون می شم
<?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);
?>

mdf092
February 1st, 2011, 09:53
روی سرور اصلی کتابخانه و افزونه gd2 برای php فعال هست؟
در اغلب موارد مشکل همینه

teztop
February 17th, 2011, 13:18
فعاله. چون یک جای دیگه هم از تابع ایمج استفاده کردم. مثلا از تابعی که اندازه تصاوبر رو کوچیک می کنه. یا برای نمایش ایمیل ها.
رو لوکال جواب می ده اما روی سرور خالی میاره.

sibs
February 17th, 2011, 14:10
ممنونم . بسیار مفید و جالب بود . با تشکر .

iacbook
February 17th, 2011, 15:08
ممنونم . بسیار مفید و جالب بود . با تشکر .

:d چی مفید بود؟ ایشون سوال کردند برای حل مشکلشون ;)

teztop
February 18th, 2011, 00:43
:-?:39:

Rezash
February 20th, 2011, 06:21
اول اسكريپت بزن :

error_reporting(-1);
و فايل error_log رو هم چك كن
خطا رو بگو تا ببينيم مشكل كجاست.

mtchivarly
February 23rd, 2011, 15:05
سلام
اولا اطلاعاتي كه دادي خيلي كمه ، نبايد توقع داشته باشي كمك بسزايي كنم اما چند تا راهنمايي كلي مي كنم
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 استفاده مي كني

teztop
February 23rd, 2011, 16:15
در ضمن تو اسكريپتت ديدم كه از putenv('GDFONTPATH=C:\WINDOWS\Fonts'); استفاده كردي ، حواست هست كه اگه سرور اينوكس باشه بايد path فونت رو غوض كني چون داري از TTF استفاده مي كني
فکر کنم مشکلم همین بوده باشه.
روی لوکال منظورم Easy PHP بوده. حالا ببینم اینو بزارم چی در میاد

mtchivarly
February 23rd, 2011, 16:50
سلام
چي چي در مياد؟ !#:-S#:-S

متوجه نشدم منظورتو دوست عزيز.
مراحلي كه بالا گفتم phpinfo() و gd_info() رو انجام بده تا ببينيم چه خبره ! يكم اطلاعات داشته باشم دقيق تر راهنماييت كنم.