ugrás a tartalomhoz

Szöveg írása egy képbe

dc-hungary · 2008. Már. 18. (K), 06.44
Üdv

Van nekem egy olyan scriptem, amivel egy képbe lehet szöveget írni, de van vele egy kis bajom, nem működik :(
Az extrán próbáltam, de viszont láttam működő-t is, az extrán
mi lehet a gond?

itt a kód:

index.php:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  2. <html>  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">  
  5. <title>Avatar</title>  
  6. </head>  
  7. <body>  
  8. <form action="avatar.php" method="post" target="_blank">  
  9. <div align="center">  
  10. Írd be a neved: <br />  
  11. <input type="text" name="pavatar_name" size="30"><br />  
  12. Letölt  
  13. <input type="checkbox" name="disp" value="1" /><br />  
  14.   
  15. <input type="submit" value="Elkészít">  
  16.   
  17. <div>  
  18. </form>  
  19.   
  20. <div align="center">  
  21. <a href="forras.php" target="_blank">Meglesem a php forrást</a>  
  22. </div>  
  23. </body>  
  24. </html>  
avatar.php:
  1. <?php  
  2. /* beállítások */  
  3. $angle = 0;                     //elforgatás szöge  
  4. $fontsize = 14;                 //betűméret  
  5. $fonttype = "fonts/arial.ttf";  //betűtípus helye  
  6. $y = 20;                        //Y koordináta (szöveg bal alsó sarka)  
  7. $avatar = "avatar.jpg";         //avatar kép helye  
  8.    
  9. /***************************************************/  
  10.    
  11.    
  12. $imagesize = getimagesize($avatar);  
  13. $im_width = $imagesize[0];  
  14.    
  15. $text = $_POST['pavatar_name'];  
  16.    
  17. header("Content-type: image/jpeg");  
  18. if(isset($_POST['disp']) and $_POST['disp'] == '1') {  
  19.     header('Content-Disposition: attachment; filename="'.trim(htmlentities(basename($avatar))).'"');      
  20. }  
  21. $resource = imageCreateFromJpeg($avatar);  
  22.    
  23. $color = imageColorAllocate($resource,255,255,255);  
  24.    
  25. $ttfbox = imagettfbbox($fontsize,$angle,$fonttype,$text);  
  26. $x = ($im_width/2) - ((abs($ttfbox[0]) + abs($ttfbox[2])) / 2);    
  27.    
  28. imagettftext($resource,$fontsize,$angle,$x,$y,$color,$fonttype,$text);  
  29.   
  30. imagejpeg($resource);  
  31.   
  32.   
  33. ?>  
És persze van még egy fonts mappa, amibe egy arial.ttf , és van egy avatar.jpg is
 
1

Gondold végig...

janoszen · 2008. Már. 18. (K), 09.22
Gondold végig, amit itt szeretnél csinálni. Gyakorlatilag minden oldallekérésnél legenerálod a képet...

Egyébként szedd ki belőle a HTTP tartalomkérés részeket (tehát takarítsd ki a kódot, ahogy azt mindjárt első körben illett volna beküldés előtt) és akkor átláthatóbb lesz neked is. Ja, és a "nem működik"-nél egy kicsit részletesebb hibaleírást adhatnál.
4

--------

dc-hungary · 2008. Már. 19. (Sze), 08.10
az a hibája, hogy a kép helyére a script elérési útvonalát írja be..
2

van-e GDlibrary?

griphons · 2008. Már. 18. (K), 11.45
Én úgy tudom, de lehet hogy tévedek, hogy az extrán - és általában az ingyen tárhelyet biztosító oldalakon - nincs telepítve/engedélyezve a GDlibrary. Ugye ezzel manipulálhatók, és hozhatók létre képek a szerveren. Ez meglehetős biztonsági kockázatot jelent, ezért nem szokták engedni.
Korábban én is próbáltam az extrán gd-s funkciókat, és nem működtek. Ha más a gond, akkor bocs, h beleszóltam.
3

...freetype support

Ronyn · 2008. Már. 18. (K), 12.35
nincs a szerveren,akkor csak a beépitett betütipusok mükodnek...
Elöszor érdemes megnézni a lehetöségeket...
gd_info()