login  Naam:   Wachtwoord: 
Registreer je!
 Forum

php in afbeelding

Offline kenzo - 09/04/2007 13:15
Avatar van kenzoPHP beginner Hallo,

Ik had graag een afbeelding, met als de link was: pagina.php?tekst=Naam

dat dat dan in het plaatje verscheen... Maar graag een eigen gemaakt plaatje.. (niet een witte achtergrond ofzo).


Een beetje zoals de website bij mijn profiel:

http://www.site...mp;id=2304


en dat daar dan een plaatje is wat ik maak (in png liefst), en dat daar (graag in eigen lettertype enzo) de tekst staat.


Kan dat?

Bedankt!

17 antwoorden

Gesponsorde links
Offline Ibrahim - 09/04/2007 13:17
Avatar van Ibrahim PHP expert dat kun je doen met GD, zoek maar op php.net
Offline Dark_Paul - 09/04/2007 13:23
Avatar van Dark_Paul PHP ver gevorderde Loop eens 2 keer op en neer door de straat en herformuleer je vraag. Er is geen wijs uit te maken.
Offline kenzo - 09/04/2007 13:26
Avatar van kenzo PHP beginner Ja, sorry... een beetje raar getypt.


Ik wil dus graag als ik inlog een afbeelding met daarin de naam van het lid.

De afbeelding moet in PNG zijn, want hij moet doorzichtig kunnen zijn. (Gif is niet zo mooi).

Ik wil graag bijvoorbeeld de link pagina.php?gebruikersnaam=NaamLid.


In de afbeelding staat dan op de plaats in het lettertype wat ik wil (als dat kan):

NaamLid...


Hopelijk is het duidelijk.


Bedankt!
Offline kenzo - 09/04/2007 13:26 (laatste wijziging 09/04/2007 13:28)
Avatar van kenzo PHP beginner Ja, sorry... een beetje raar getypt.


Ik wil dus graag als ik inlog een afbeelding met daarin de naam van het lid.

De afbeelding moet in PNG zijn, want hij moet doorzichtig kunnen zijn. (Gif is niet zo mooi).

Ik wil graag bijvoorbeeld de link pagina.php?gebruikersnaam=NaamLid.


In de afbeelding staat dan op de plaats in het lettertype wat ik wil (als dat kan):

NaamLid...


Hopelijk is het duidelijk.


Bedankt!


(PS: Sorry voor het 2 keer... weet niet hoe dat komt?)
Offline Warbringer - 09/04/2007 13:31
Avatar van Warbringer Onbekend http://www.plaatscode.be/4943/

wel ff nakijken zelf maar denk dat dit wel moet werken, lang geleden dat ik GD heb gedaan ;)
Offline kenzo - 09/04/2007 13:35
Avatar van kenzo PHP beginner bedankt...

heb nu dit:

  1. <?php
  2. // nieuwe header gestart
  3.  
  4. $img = imagecreatefrompng("modules/beheer/images/user.png"); // signature.gif wijzigen naar je eigen plaatje natuurlijk
  5. $color = imagecolorallocate($img, 255, 255, 255); // 255, 255, 255 vervangen door je eigen RGB kleur code voor je tekst kleur
  6. $text = $_GET['tekst']; // naam uit de URL halen welke ingedeeld staat onder het 'tekst' stuk
  7. $font = "arial.ttf"; // font bestand van de font die je wilt gebruiken (uploaden samen met je plaatje)
  8.  
  9. imagettftext($img, 10, 0, 25, 25, $color, $font, $text);// 10 = de grootte van de tekst, 25 en 25 zijn de X en Y coordinaten, de rest spreekt voor zichzelf
  10.  
  11. ob_clear;
  12. // header opschonen zodat je geen 'headers already send' error krijgt
  13. header("content-type: image/png"); // hier geven we aan dat het om een plaatje gaat met de gif extensie (JPG, PNG kan ook enz)
  14. imagegif($img);
  15. imagedestroy($img);
  16. ?>



en dit is de foutmelding:

  1. [b]Fatal error[/b]: Call to undefined function: imagettftext() in <b>/home/lfi/domains/letsfaceit.eu/public_html/modules/beheer/test.php on line [b]10[/b]
Offline Dark_Paul - 09/04/2007 13:38
Avatar van Dark_Paul PHP ver gevorderde Nu snap ik wat je bedoelt. Dit kan je inderdaad met GD-library doen.
Je maakt het plaatje, je zet dit omheen:
<a href="users.php?id=".$lid_id."><img src="images/leden/lid".$lid_id.".png" /></a>
Dan kan je het plaatje ook maar één keer maken. Zodra iemand registreert, maak je het plaatje en zet je die in de map 'afbeeldingen/leden/' met als naam 'lid<lidnr>.png' of iets dergelijks.
Als je veel leden en veel bezoekers hebt, wordt het denk ik onnodig zwaar voor de server om steeds de plaatjes aan te maken met GD-library.
Offline kenzo - 09/04/2007 13:39
Avatar van kenzo PHP beginner het zijn hooguit 15 leden...

maar omdat ik niet weet wie welke gebruikersnaam heeft kan ik ook niet de plaatjes maken en ze opvragen met cookies...

dat van Warbringer is goed, alleen die foutmelding...

(ik denk dat het goed is omdat het script een beetje lijkt op wat ik in gedachten had).
Offline Dark_Paul - 09/04/2007 13:43
Avatar van Dark_Paul PHP ver gevorderde Sla je je gebruikers met wachtwoord enzo niet op in de database? Dan zijn users namelijk gemakkelijk te koppelen aan de afbeeldingen. Gewoon het bijbehorende ID uit de tabel als userID gebruiken.
Offline kenzo - 09/04/2007 13:45
Avatar van kenzo PHP beginner ik sla ze op in een database, maar ik weet toch niet alle gebruikersnamen?

als ik die weet kan ik een plaatje maken met de naam LID1

opslaan als lid1.png

en dan een plaatje pakken als:

plaatje".$_COOKIE['gebruikersnaam'].".png ofzoiets

maar ik had het graag met GD dat het altijd goed was... (ook als de gebruikersnaam verandert)
Offline Warbringer - 09/04/2007 14:00
Avatar van Warbringer Onbekend imagettftext error... hmm...

ImageTTFText(Afbeelding, Grootte Lettertype, Hoeveel graden gedraait, Positie X-As, Positie Y-As, Tekstkleur, Lettertype, Tekst);

dus:


imagettftext($img, 10, 0, 25, 25, $color, $font, $text);

zou goed moeten zijn volgens mijn... iemand een idee wat de foutmelding kan zijn?
Offline phpfreak - 09/04/2007 14:38 (laatste wijziging 09/04/2007 14:39)
Avatar van phpfreak PHP beginner
Citaat:
ik sla ze op in een database, maar ik weet toch niet alle gebruikersnamen?

als ik die weet kan ik een plaatje maken met de naam LID1

opslaan als lid1.png

en dan een plaatje pakken als:

plaatje".$_COOKIE['gebruikersnaam'].".png ofzoiets

maar ik had het graag met GD dat het altijd goed was... (ook als de gebruikersnaam verandert)


dan maak je toch gewoon een query?
  1. <?
  2. $query = mysql_query("SELECT * FROM leden WHERE username='".$_COOKIE["gebruikersnaam"]."'");
  3. $res = mysql_fetch_array($query);
  4. echo "lid".$res["id"].".png";
  5. ?>
Offline kenzo - 09/04/2007 18:53 (laatste wijziging 09/04/2007 19:32)
Avatar van kenzo PHP beginner het is me nu gelukt, maar het PNG plaatje pakt hij niet doorzichtig... GIF misschien wel, maar daar pakt hij de schaduw niet goed van... Is er misschien iets waardoor het wel goed doorzichtig kan worden? (png)
Offline CDNC - 09/04/2007 19:35 (laatste wijziging 09/04/2007 19:37)
Avatar van CDNC PHP ver gevorderde welke kleur je doorzichtig wil hebben met je instemmen met een speciale functie...

ff zoeke: gevonde:

  1. <? // kleurtjes
  2. $tclr = imagecolorallocate($img, r, g, b); // kleur die doorzichtig zal worde invullen op R, G, B
  3. imagecolortransparent($img, $tclr); // functie voor doorzichtig make
Offline kenzo - 09/04/2007 19:39 (laatste wijziging 09/04/2007 19:42)
Avatar van kenzo PHP beginner heb dit, maar transparant is het nog niet:

  1. <?PHP
  2.  
  3. $tclr = imagecolorallocate($img, 255, 255, 255); // kleur die doorzichtig zal worde invullen op R, G, B
  4. imagecolortransparent($achtergrond, $tclr); // functie voor doorzichtig make
  5.  
  6. ?>


het witte moet doorzichtig zijn, en $achtergrond is:

  1. $achtergrond = imagecreatefrompng("images/user.png");
Offline CDNC - 09/04/2007 19:46 (laatste wijziging 09/04/2007 19:47)
Avatar van CDNC PHP ver gevorderde je moet ook de juiste var invullen bij het eerste argument bij imagecolorallocate, bij jouw moet het dan $achtergrond zijn denk.
dan zou het moeten werken


edit: BTW: mijn host onderstuint de functie imagettftext ook niet, dus je bent niet alleen
Offline kenzo - 09/04/2007 19:52
Avatar van kenzo PHP beginner bedankt... werkt.

ook
imagepng($achtergrond);

moet eronder i.p.v erboven!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.243s