Autor Zpráva
Jan Zabloudil
Profil
Ahoj,
Mám za úkol vytvořit web, který v obrázku zobrazí bublinu :

1. soubor (input.html) - formulář

<!DOCTYPE html>
<html lang='cs'>
  <head>
    <title>Vytvořte vlastní popisek!</title>
    <meta charset='utf-8'>
  </head>
  <body>
    <h1>Vytvořte vlastní popisek!</h1>
    <img src="obrazky/obrazek.jpg" alt="komiks bez popisku" title="komiks bez popisku" style="border: 1px solid black; " />
    
    <form method="post" action="caption.php">
      <table>
        <tr>
          <td><label for="image_caption">Vytvořte vlastní text do bubliny:</label><br />
              <em>Příklad: To hovoříte se mnou?</em></td>
          <td><input id="image_caption" name="image_caption" type="text" size="25" maxlength="25" /></td>
        </tr>
        <tr>
          <td> </td>
          <td><input type="submit" value="Odeslat text" /></td>
        </tr>
      </table>
    </form> 
  </body>
</html>

2. soubor (caption.php - zpracuje a zobrazí obrázek s bublinou)

    <?php
    $image_filename = 'obrazky/obrazek.jpg';
    $image_caption = (isset($_POST['image_caption']))? $_POST['image_caption']: '';
    $length = strlen($image_caption);
    
    $image = imagecreatefromjpeg($image_filename);
   
    //Nakreslení bíle elipsy podle délky textu
    $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
    
    // Umístění středu bubliny na obrázku na souřadnice 134, 14.
    $e_x = 134;
    $e_y = 14;
    
    // Přidejte po 10px + 10px na obě strany textu
    $e_width=($length * 10) + 20;
    $ellipse = imagefilledellipse($image, $e_x, $e_y, $e_width, 25, $white);
    
    // Nastavení počátku textu
    $x = $e_y - (($length * 10) / 2) - 10;
    
    $font = 'C:/Windows/Fonts/Arial.ttf';
    // Vložení textu do bubliny
    imagettftext($image, 0, $x, $y, 0, $font, $image_caption);
 
    
    header('Content-type: image/jpeg');
    imagejpeg($image);
    ?>

Vypíše mi to: obrázek nelze zobrazit, obsahuje chyby

Nevíte někdo kde ta chyba je, dík
PS: omlouvám se za dlouhý kod.
Alphard
Profil
Když zakomentujete hlavičku a povolíte výpis chyb, vypíše se něco?
Jan Zabloudil
Profil
Alphard:
Tak vypíše - Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\7\caption.php on line 12


na řádku 12 mám - $image_filename = 'obrazky/obrazek.jpg';


Alphard:
Sorry, chyběl mi tam středník - takže to vyhodilo tuhle chybu - když tam dám ini_set('error_reporting', ? - nevím co sem za číslo (zkoušel jsem třeba 1..); a zakomentuju hlavičku - žádná změna
Alphard
Profil
ini_set('error_reporting') neřešte, výpis chyb máte povolen, takže není třeba se v tom hrabat.

Středník jste předpokládám opravil, pak už to žádnou chybu nevypisuje? Obrázek (po odkomentování hlavičky) není v pořádku?
Jan Zabloudil
Profil
nefunguje - pořád stejné, i když na řádku 24 v caption.php dám místo imagettftext - imagettfbbox

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: