GD или нещо друго за текст в снимка

stoqnski

Registered
Здравейте , правя следното:

Имам текст , който искам да поставя в снимка. В момента съм на процедурно ниво още и съм написал това:
page.php
PHP:
<?php 
echo "
<form action=\"image.php\" method=\"POST\">
	<input type=\"hidden\" name=\"myname\" value=\"$profile[name]\">
	<input type=\"submit\" value=\"генерирай\"/>
	</form>
"; 
?>
image.php
PHP:
<?php
header('Content-Type: image/png');
$text = $_POST['myname'];
$font = 'arial.ttf';
$im = imagecreatefromjpeg('image.jpg');
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
imagepng($im);
imagedestroy($im);
?>

Работи по следния начин:
Влизаш в page.php и hidden полето приема стойност потребителското ти име.Когато натиснеш бутона отиваш в image.php където създаваш картинката(sample avatar с името ти).До тук всичко работи,но тази картинка ще се споделя примерно,затова ми трябва линк до нея,а не до някакъв php файл,т.е. как като я генерирам да я слагам в някаква папка на сървъра :D ? Приемам всякакви идеи за тази функционалност.Мразя този дял от php-то :D
 
PHP:
header('Content-Type: image/png');
$text = $_POST['myname'];
$file = "user_image/".$text.".png";
$font = 'arial.ttf';
$im = imagecreatefromjpeg('image.jpg');
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
imagepng($im,$file,9);
imagedestroy($im);
пътя към снимката ще е
PHP:
 $file
Като за потребител @stoqnski снимката ще е в
user_image/stoqnski .png
Много си е хубава тая "част", чети тук:
http://php.net/manual/en/function.imagepng.php

filename
The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.
 

Back
Горе