Reply to Re: [PHP] PHP Warning: imagettftext() expects parameter 2 to be double

Your name:

Reply:


Posted by Jochem Maas on 12/08/05 14:26

Jeffrey Sambells wrote:
> You've got 83px in you XML file for the fontsize. the 'px' is messing
> it up change it to just 83 in the XML file or cast the value to (float)
> which will extract the 83 and remove the px:

well spotted Jeffery; James didn't I say to var_dump() the vars you
create inside the loop?? print_r() and var_dump() are your friends!


>
> <snip>
> foreach ($xml->textblock as $text) {
>
> $fontsize=(float)$text->fontsize;
> $fontangle=(float)$text->fontangle;
> $fontxpos=(int)$text->fontxpos;
> $fontypos=(int)$text->fontypos;
> $text=$text->text;

i.e.

var_dump($fontsize, $fontangle, $fontxpos, $fontypos, $text);

>
>
> imagettftext($image['png'],$fontsize,$fontangle,$fontxpos,$fontypos,$fon
> t['color'],$font['type'],"$text",array());

one other thing, there is no point in writing:

"$text"

the quotes have no use (assuming $text is a string), in
fact its a [very small] waste of processing power.

>
> }
> </snip>
>
> - Jeff
>
> On 7-Dec-05, at 7:06 AM, James wrote:
>
>> Hi,
>>
>> Thank you for getting back to me, your the first.
>>
>> The array works fine – I have tested it using var_dump().
>>
>> Attached are the two files – xml.test – this holds the array of the
>> text blocks which is being parsed by image.php.
>>
>> Line 38 is the problem, if you comment around the foreach()
>> statement and un-comment the commented lines you should see it
>> working fine, its when its within the foreach statement when it errors.
>>
>> Regards,
>>
>> James
>>
>>
>> Jochem Maas Wrote:
>>
>>> James wrote:
>>> > Hi there,
>>> >
>>> > I have been using the GD functions from PHP5.0 on Mac OS X.
>>> >
>>> > I have a simple script that creates a PNG image with text on the
>>> image using
>>> > fonts using FreeType 2.
>>> >
>>> > I am trying to use the imagettftext() function within a foreach
>>> loop – but I
>>> > get the following error:
>>> >
>>> > PHP Warning: imagettftext() expects parameter 2 to be double
>>>
>>> what does paramter 2 contain in each case? var_dump(), print_r(),
>>> echo ?!?
>>>
>>> >
>>> > The code is as follows:
>>> >
>>> > $font['type']="./fonts/font.ttf”;
>>> >
>>> >
>>> >
>>> $font['color']=imageColorAllocate($card['png'],$font['hexcolor']['r'],
>>> $font[
>>> > 'hexcolor']['g'],$font['hexcolor']['b']);
>>> >
>>> > imageFill($card['png'],0,0,$card['color']);
>>> >
>>> > foreach ($xml->textblock as $text) {
>>> > $fontsize=$text->fontsize; $fontangle=$text->fontangle;
>>> > $fontxpos=$text->fontxpos; $fontypos=$text->fontypos;
>>> > $text=$text->text;
>>>
>>> try var_dump($text); or print_r($text); to see what you have
>>> (if its an XML node object - dump $fontsize, $fontxpos instead!!!)
>>>
>>> >
>>> imagettftext($image['png'],$fontsize,$fontangle,$fontxpos,$fontypos,$f
>>> ont['c
>>> > olor'],$font['type'],$text); }
>>> >
>>> > It works fine if I add just one line outside of the loop – but as
>>> soon as
>>> > its within the loop it errors.
>>> >
>>> > Cheers,
>>> >
>>> > James
>>> >
>>
>>
>> <image.php><test.xml>--
>> PHP General Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация