Witam.
Mam pewien kod, dzięki któremu po wpisaniu tesktu w pole tekstowe zamienia go w obrazek. Niestety mam problem z dopasowywaniem się tła do długości tekstu. Obecnie tło jest czytane z obrazka i ma one stałą wysokość, nie dopasowuje się do długości wysłanego tekstu. Chciałbym by było ono 'elastyczne' i wraz ze zmienianiem się długości tekstu wysokość tła również się zwiększała.
Próbowałem sam coś zrobić, ale niestety nic z tego nie wyszło, a męczę się z tym już bardzo długi okres czasu.
Oto kod:
<?php
if ($user->verifyLogin()) {
if(isset($_POST['submit_suchar']) and
$_GET['co']=='suchar') {
if(!$_POST['gorny_tekst'] && !$_FILES['obrazek']['name']) {
echo '<b>Nie wypeĹ‚niono wszystkich pĂłl!</b><br/><a href="dodaj.php">« PowrĂłt</a>'; }
else {
// Funkcja obramowania
function imagettfstroketext(&$image, $size, $angle, $x, $y, &$textcolor, &$strokecolor, $fontfile, $text, $px) {
return imagettftext($image, $size, $angle, $x, $y, $textcolor, $fontfile, $text);
}
// Definicje obrazkĂłw
$autor = $user->userInfo("id");
$url['tlo'] = 'img/suchary/tlo.png';
$tekst_gora = $_POST['gorny_tekst'];
$font = 'img/arial.ttf';
$font_size = 16;
#####################################################
//Załadowanie tła
$font_width = imagefontwidth($font_size);
// Dodanie tekstu
$font_color = imagecolorallocate($suchar, 255, 255,255);
$stroke_color = imagecolorallocate($suchar, 0, 0, 0);
imagettfstroketext($suchar, $font_size, 0, (50/2), 30, $font_color, $stroke_color, $font, $tekst_gora, 2);
// Zapisanie suchara do pliku
$data_img = date("YmdHis"); imagepng($suchar, 'img/upload/'.$data_img.'.png');
$sciezka_suchar = 'img/upload/'.$data_img.'.png';
$wykonaj = mysql_query("INSERT INTO `shity` (`title`, `img`, `source`, `author`, `data`, `type`) VALUES ('$tekst_gora', '$sciezka_suchar', 'suchar', '$autor', '$data', 'obrazek')"); echo '<b>Obiekt zostaĹ‚ pomyĹ›lnie dodany!</b><br/> <a href="index.php">« Strona Główna</a>';
}
}
else {
?>
<div id="tab">
<ul>
<li id="selected"><a href="dodaj.php?co=suchar"><img src="img/suchar.png" style="position:relative;top:3px;"/> Dodaj Suchara</a></li>
</ul>
</div>
<div id="tab_linia"></div>
<form action="dodaj.php?co=suchar" method="post" name="dynamicselector" enctype="multipart/form-data">
<table>
<colgroup>
<col width="120px;">
<col>
</colgroup>
<tbody><tr>
<td>GĂłrny tekst:</td>
<td>
<textarea name="gorny_tekst">Wpisz tresc suchara</textarea>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" name="submit_suchar" class="button" value="Dodaj" />
</td>
</tr>
</tbody></table>
</form>
<script>
var ie4=document.all
var ns6=document.getElementById
var tempobj=document.dynamicselector.kolor_tla
if (ie4||ns6)
var contentobj=document.getElementById? document.getElementById("dynamic3"): document.all.dynamic3
function generateimage(which){
if (ie4||ns6){
contentobj.innerHTML='Ĺadowanie tĹ‚a...'
contentobj.innerHTML='<img src="img/suchary/'+which+'" width="150px" height="150px" style="border:1px solid white;margin-left:2px;">'
}
else if (document.layers){
document.dynamic1.document.dynamic2.document.write('<img src="img/suchary/'+which+'" width="150px" height="150px" style="border:1px solid white;margin-left:2px;">')
document.dynamic1.document.dynamic2.document.close()
}
else
alert('You need NS 4+ or IE 4+ to view the images!')
}
function generatedefault(){
generateimage(tempobj.options[tempobj.options.selectedIndex].value)
}
if (ie4||ns6||document.layers){
if (tempobj.options.selectedIndex!=-1){
if (ns6)
generatedefault()
else
window.onload=generatedefault
}
}
</script>
<?php
}
}
else {
echo 'Aby dodać nowy obiekt musisz być zalogowany.<br/><br/> <a href="login.php" class="button" style="float:left;">Logowanie</a>
<a href="rejestracja.php" class="button" style="margin-left:10px;float:left;">Rejestracja</a>
<div style="clear:left;"></div>';
}
?>
Z góry bardzo dziękuję za pomoc.
Pozdrawiam.