login  Naam:   Wachtwoord: 
Registreer je!
 Forum

gd plaatje

Offline Ultimatum - 11/04/2007 19:06 (laatste wijziging 11/04/2007 19:07)
Avatar van UltimatumPHP expert Ik heb een probleem met gd. Ik heb een image en daar zet ik een tekst op. Nu haal ik eerst de breedte en hoogte op dmv imagesx en imagesy. Maar als ik nu in image string $x (x = imagesx()) - 100, maar hij komt tegen de rand aan terwijl hij dus 100 pixels van de rechterrand moet komen, met y lukt het wel..

Ik heb hier een klein stukje van de rechter onderhoek. En daaronder staat de code die ik gebruik:

http://img129.imageshack.us/img129/5855/gdfc2.jpg

  1. <?php
  2. header('content-type: image/png');
  3.  
  4. $image = imagecreatefrompng('Underwater_City_by_Bi0shadow.png');
  5. $x = imagesx($image);
  6. $y = imagesy($image);
  7. $tekst = imagecolorallocate($image, 0, 0, 255);
  8.  
  9. imagestring($image, 5, $x - 100, $y - 100, "Hello World", $tekst);
  10.  
  11. imagepng($image);
  12. imagedestroy($image);
  13. ?>


Iemand idee waarom hij zo vaag doet? 

De tekst zou dus ook 100pixels van de rechterkant moeten staan in dat kleintje voorbeeldje dat ik gaf (orginele foto is 1600*1200 )

11 antwoorden

Gesponsorde links
Offline JBke - 11/04/2007 19:10 (laatste wijziging 11/04/2007 19:13)
Avatar van JBke PHP gevorderde het is de start positie die je bepaald dus je moet er de breette van je tekst ook nog aftrekken

zal eerder $x - 300 of zo zijn.

$x en $y zijn de eindposities van je image dus $y - 100 is correct, $x - 100 is te weinig, als je tekst bvb 150 is dan doe je $x - 250 als het 100 van de kant moet blijven.

laat even weten of het werkt

Grtz.
Offline Ultimatum - 11/04/2007 19:19
Avatar van Ultimatum PHP expert Zo klopt het idd wel, maar is er een mogelijk heid om te kijken hoe groot de text in pixels oid in? Kan ik dan die breedte + 100 doen en dat dan van de breedte afhalen?
Offline JBke - 11/04/2007 19:22 (laatste wijziging 11/04/2007 19:24)
Avatar van JBke PHP gevorderde ja dat kan je, weet enkel niet hoe je de breedte van de tekst kan berekenen. En dat is wel handig indien je verschillende teksten wil zetten op verschillende fotos, zal eens een keertje zoeken.

Gebruik je steeds dezelde pixel grootte voor je tekst??

misschien leuk er een nieuwe post van te maken? Zou het ook wel eens van een ander willen weten.

Grtz.
Offline Ultimatum - 11/04/2007 19:25
Avatar van Ultimatum PHP expert Dit is de enige code die ik gebruik dus ik denk dat het niet verschillende grote is..
Offline CDNC - 11/04/2007 19:25 (laatste wijziging 11/04/2007 19:26)
Avatar van CDNC PHP ver gevorderde voor size 5, is elk lettertje 9pix breedt en 10 pix hoog
Offline JBke - 11/04/2007 19:30
Avatar van JBke PHP gevorderde thx CDNC.

Simpel dan, tel het aantal characters in je string en vermenigvuldig met 9 en tel bij de uitkomst 100 op.

Trek de uitkomst af van je $x en je hebt je beginpositie.

Weet iemand waar je een overzicht van die afmetingen van lettergrootes kan vinden??

Grtz.
Offline Ultimatum - 11/04/2007 19:31
Avatar van Ultimatum PHP expert Maar mag ik het gewoon aannemen als volgt dan?

$x - ((strlen($tekst) * 9) + 100)

Of is het zo niet goed?
Offline JBke - 11/04/2007 19:33 (laatste wijziging 11/04/2007 19:38)
Avatar van JBke PHP gevorderde ziet er correct uit. Gewoon ff testen zou ik zeggen.

al moet je wel eerst je tekst in een string zetten denk ik weet niet of het zo werkt omdat je "Hello World" eigenlijk pas in dezelfde regel achteraan toekend aan $tekst.

Success
Offline Ultimatum - 11/04/2007 19:33
Avatar van Ultimatum PHP expert Hij doet het , bedankt allen voor de hulp..
Offline CDNC - 11/04/2007 20:14 (laatste wijziging 11/04/2007 20:15)
Avatar van CDNC PHP ver gevorderde
  1. <?
  2. function afmSize($size)
  3. {
  4. $x = array(1 => 5,6,7,8,9);
  5. $y = array(1 => 6,8,9,10,10);
  6. return array('x' => $x[$size], 'y' => $y[$size]);
  7. }
Offline Ultimatum - 12/04/2007 08:55
Avatar van Ultimatum PHP expert Hé die functie is verdomde handig . Ga ik zeker wel gebruiken..
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.198s