Kod
[/code]Witam, swoja przygodę rozpocząłem z php około tygodnia temu, jednak chyba nieźle mi idzie, jednak napotkałem opór od strony kodu. Chciałem zrobić rozbudowany generator grafiki. i mam 2 pliki:
index.php:
[code]
<head>
<script type="text/javascript">
window.onload = Laduj;
var active_id = "";
function Laduj()
{
document.forms['generator'].tlo.onchange = Zmien;
}
function Zmien()
{
if (active_id != "")
{
var blok2 = document.getElementById(active_id);
blok2.style.display = "none";
}
var blok = document.getElementById(this.value);
blok.style.display = "block";
active_id = this.value;
}
</script>
</head>
<body>
<center>
<table name="kreator" width="500" height="400" border="0">
<form name="generator" action="read.php" method="post">
<tr>
<td>
Nick:<input type="text" name="nick" size="10" value="nick" /> <br>
Rozmiar czcionki: <select name="rozmiar">
<option>8</option>
<option>10</option>
<option>12</option>
<option>14</option>
<option>16</option>
<option>18</option>
<option>20</option>
<option>22</option>
<option>24</option>
<option>26</option>
<option>28</option>
<option>30</option>
<option>32</option>
<option>36</option>
<option>40</option>
<option>44</option>
<option>48</option>
<option>56</option>
<option>62</option>
<option>68</option>
<option>74</option>
</select><br>
Obróć tekst o: <select name="kat">
<option>0</option>
<option>5</option>
<option>10</option>
<option>15</option>
<option>20</option>
<option>25</option>
<option>30</option>
<option>35</option>
<option>40</option>
<option>45</option>
<option>50</option>
<option>55</option>
<option>60</option>
<option>65</option>
<option>70</option>
<option>75</option>
<option>80</option>
<option>85</option>
<option>90</option>
<option>-5</option>
<option>-10</option>
<option>-15</option>
<option>-20</option>
<option>-25</option>
<option>-30</option>
<option>-35</option>
<option>-40</option>
<option>-45</option>
<option>-50</option>
<option>-55</option>
<option>-60</option>
<option>-65</option>
<option>-70</option>
<option>-75</option>
<option>-80</option>
<option>-85</option>
<option>-90</option>
</select>stopni<br>
Położenie nicku:<br>odstęp od góry w pikselach: <input type="text" name="odstep2" size="5" maxlength="3" value="000" /><br>
odstęp od lewej w pikselach: <input type="text" name="odstep1" size="5" maxlength="3" value="000" />
<br>
Wybierz czcionkę: <select name="czcionka">
<option>arial.ttf</option>
<option>tahoma.ttf</option>
<option>verdena.ttf</option>
<option>base_02.ttf</option>
</select>
</td></tr>
<tr><td>
Kolor czcionki: <select name="kolor">
<option value="1" style="background: #FFFFFF; margin: 2px; color: #FFFFFF;" >bialy</option>
<option value="13" style="background: #C0C0C0; margin: 2px; color: #C0C0C0;" >srebrny</option>
<option value="6" style="background: #808080; margin: 2px; color: #808080;" >szary</option>
<option value="12" style="background: #000000; margin: 2px; color: #000000;" >czarny</option>
<option value="15" style="background: #000080; margin: 2px; color: #000080;" >granatowy</option>
<option value="niebieski" style="background: #0000FF; margin: 2px; color: #0000FF;" >niebieski</option>
<option value="17" style="background: #00FFFF; margin: 2px; color: #00FFFF;" >jasnoniebieski</option>
<option value="7" style="background: #FF00FF; margin: 2px; color: #FF00FF;" >różowy</option>
<option value="4" style="background: #800080; margin: 2px; color: #800080;" >fioletowy</option>
<option value="bordowy" style="background: #800000; margin: 2px; color: #800000;" >bordowy</option>
<option value="czerwony" style="background: #FF0000; margin: 2px; color: #FF0000;" >czerwony</option>
<option value="pomarańczowy" style="background: #FFA500; margin: 2px; color: #FFA500;" >pomarańczowy</option>
<option value="żółty" style="background: #FFFF00; margin: 2px; color: #FFFF00;" >żółty</option>
<option value="limonka" style="background: #00FF00; margin: 2px; color: #00FF00;" >limonka</option>
<option value="zielony" style="background: #008000; margin: 2px; color: #008000;" >zielony</option>
<option value="14" style="background: #808000; margin: 2px; color: #808000;" >oliwkowy</option>
<option value="16" style="background: url:bg1.png; margin: 2px; color: #008080;" >turkusowy</option>
</select>
</td>
</tr>
<tr width="400">
<td>
Wybierz tło: <select name="tlo">
<option value="bg1.png">bg1.png</option>
<option value="bg2.png">bg2.png</option>
<option value="bg3.png">bg3.png</option>
</select>
</td>
<td width="200" height="100">
<div id="bg1.png" style="display: none;"><img src="bg1.png" height="75" width="150"></div>
<div id="bg2.png" style="display: none;"><img src="bg2.png" height="75" width="150"></div>
<div id="bg3.png" style="display: none;"><img src="bg3.png" height="75" width="150"></div>
</td>
</tr>
<tr colspan="2"><td>
<INPUT TYPE="submit" VALUE="GENERUJ">
</FORM></td></tr></table>
</center>
</body>
index.php:
[code]
<head>
<script type="text/javascript">
window.onload = Laduj;
var active_id = "";
function Laduj()
{
document.forms['generator'].tlo.onchange = Zmien;
}
function Zmien()
{
if (active_id != "")
{
var blok2 = document.getElementById(active_id);
blok2.style.display = "none";
}
var blok = document.getElementById(this.value);
blok.style.display = "block";
active_id = this.value;
}
</script>
</head>
<body>
<center>
<table name="kreator" width="500" height="400" border="0">
<form name="generator" action="read.php" method="post">
<tr>
<td>
Nick:<input type="text" name="nick" size="10" value="nick" /> <br>
Rozmiar czcionki: <select name="rozmiar">
<option>8</option>
<option>10</option>
<option>12</option>
<option>14</option>
<option>16</option>
<option>18</option>
<option>20</option>
<option>22</option>
<option>24</option>
<option>26</option>
<option>28</option>
<option>30</option>
<option>32</option>
<option>36</option>
<option>40</option>
<option>44</option>
<option>48</option>
<option>56</option>
<option>62</option>
<option>68</option>
<option>74</option>
</select><br>
Obróć tekst o: <select name="kat">
<option>0</option>
<option>5</option>
<option>10</option>
<option>15</option>
<option>20</option>
<option>25</option>
<option>30</option>
<option>35</option>
<option>40</option>
<option>45</option>
<option>50</option>
<option>55</option>
<option>60</option>
<option>65</option>
<option>70</option>
<option>75</option>
<option>80</option>
<option>85</option>
<option>90</option>
<option>-5</option>
<option>-10</option>
<option>-15</option>
<option>-20</option>
<option>-25</option>
<option>-30</option>
<option>-35</option>
<option>-40</option>
<option>-45</option>
<option>-50</option>
<option>-55</option>
<option>-60</option>
<option>-65</option>
<option>-70</option>
<option>-75</option>
<option>-80</option>
<option>-85</option>
<option>-90</option>
</select>stopni<br>
Położenie nicku:<br>odstęp od góry w pikselach: <input type="text" name="odstep2" size="5" maxlength="3" value="000" /><br>
odstęp od lewej w pikselach: <input type="text" name="odstep1" size="5" maxlength="3" value="000" />
<br>
Wybierz czcionkę: <select name="czcionka">
<option>arial.ttf</option>
<option>tahoma.ttf</option>
<option>verdena.ttf</option>
<option>base_02.ttf</option>
</select>
</td></tr>
<tr><td>
Kolor czcionki: <select name="kolor">
<option value="1" style="background: #FFFFFF; margin: 2px; color: #FFFFFF;" >bialy</option>
<option value="13" style="background: #C0C0C0; margin: 2px; color: #C0C0C0;" >srebrny</option>
<option value="6" style="background: #808080; margin: 2px; color: #808080;" >szary</option>
<option value="12" style="background: #000000; margin: 2px; color: #000000;" >czarny</option>
<option value="15" style="background: #000080; margin: 2px; color: #000080;" >granatowy</option>
<option value="niebieski" style="background: #0000FF; margin: 2px; color: #0000FF;" >niebieski</option>
<option value="17" style="background: #00FFFF; margin: 2px; color: #00FFFF;" >jasnoniebieski</option>
<option value="7" style="background: #FF00FF; margin: 2px; color: #FF00FF;" >różowy</option>
<option value="4" style="background: #800080; margin: 2px; color: #800080;" >fioletowy</option>
<option value="bordowy" style="background: #800000; margin: 2px; color: #800000;" >bordowy</option>
<option value="czerwony" style="background: #FF0000; margin: 2px; color: #FF0000;" >czerwony</option>
<option value="pomarańczowy" style="background: #FFA500; margin: 2px; color: #FFA500;" >pomarańczowy</option>
<option value="żółty" style="background: #FFFF00; margin: 2px; color: #FFFF00;" >żółty</option>
<option value="limonka" style="background: #00FF00; margin: 2px; color: #00FF00;" >limonka</option>
<option value="zielony" style="background: #008000; margin: 2px; color: #008000;" >zielony</option>
<option value="14" style="background: #808000; margin: 2px; color: #808000;" >oliwkowy</option>
<option value="16" style="background: url:bg1.png; margin: 2px; color: #008080;" >turkusowy</option>
</select>
</td>
</tr>
<tr width="400">
<td>
Wybierz tło: <select name="tlo">
<option value="bg1.png">bg1.png</option>
<option value="bg2.png">bg2.png</option>
<option value="bg3.png">bg3.png</option>
</select>
</td>
<td width="200" height="100">
<div id="bg1.png" style="display: none;"><img src="bg1.png" height="75" width="150"></div>
<div id="bg2.png" style="display: none;"><img src="bg2.png" height="75" width="150"></div>
<div id="bg3.png" style="display: none;"><img src="bg3.png" height="75" width="150"></div>
</td>
</tr>
<tr colspan="2"><td>
<INPUT TYPE="submit" VALUE="GENERUJ">
</FORM></td></tr></table>
</center>
</body>
oraz plik read.php:
Kod
<?php
$nick = ($_POST['nick']);
$czcionka = ($_POST['czcionka']);
$tlo = ($_POST['tlo']);
$size = ($_POST['rozmiar']);
$kat = ($_POST['kat']);
$x = ($_POST['odstep1']);
$z = ($_POST['odstep2']);
$kolor = ($_POST['kolor']);
if ($kolor == "niebieski") {
$a = "0";
$b = "0";
$c = "255";
}
if ($kolor == "czerwony") {
$a = "255";
$b = "0";
$c = "0";
}
$rysunek = ImageCreateFromPng($tlo);
$color = ImageColorAllocate($image, $a, $b, $c);
ImageTTFText($rysunek, $size, $kat, $x, $z, $color, $czcionka, $nick);
header("Content-type: image/jpeg");
ImageJpeg($rysunek);
$nick = ($_POST['nick']);
$czcionka = ($_POST['czcionka']);
$tlo = ($_POST['tlo']);
$size = ($_POST['rozmiar']);
$kat = ($_POST['kat']);
$x = ($_POST['odstep1']);
$z = ($_POST['odstep2']);
$kolor = ($_POST['kolor']);
if ($kolor == "niebieski") {
$a = "0";
$b = "0";
$c = "255";
}
if ($kolor == "czerwony") {
$a = "255";
$b = "0";
$c = "0";
}
$rysunek = ImageCreateFromPng($tlo);
$color = ImageColorAllocate($image, $a, $b, $c);
ImageTTFText($rysunek, $size, $kat, $x, $z, $color, $czcionka, $nick);
header("Content-type: image/jpeg");
ImageJpeg($rysunek);
Opis problemu:
Co bym nie robił zawsze tekst jest czarny, $a, $b, $c nie przyjmuje odpowiednich wartości próbowałem na różne sposoby, nawet klient sam wprowadzał w formularzu wartość red, green i blue w polach <input type="text"... i nic to nie dawało...
Prosze o pomoc to bardzo pilne!