Avatar billede artico Novice
16. december 2007 - 13:56 Der er 6 kommentarer og
1 løsning

urldecode($text) teksten forsvinder?

Jeg denne funktion:
-----------------
function ttfWordWrappedText($text, $strlen = 38)
{
    $text = urldecode($text);
 
    while(strlen($text) > $strlen){
        $startPoint = $strlen - 1;
        while(substr($text, $startPoint, 1) != " "){
            $startPoint--;
        }
        $line[] = trim(substr($text, 0, $startPoint));
        $text = substr($text, $startPoint);
    }
    return $line;
}

function setText($img, $txt, $x, $y, $color, $font)
{
    if(!is_resource($img))
        return false;
    imagettftext($img, 14, 0, $x, $y, $color, 'arial.ttf', $txt);
}
-----------------SLUT------------------

Som skal virker her:
---------------------
for($i = 1; $i <= 8; $i++)
    {
        if(array_key_exists($i, $positions))
        {
        setDot($new_img2,'grafik/dots/dot_'.$i.'.gif',$pix_left,($i*$pix_space)-$pix_space);
        $temp = ttfWordWrappedText($positions[$i]['hjelpe_txt'],30);
       
       
       
        for($x = 0; $x < count($temp); $x++)
        {
            setText($new_img2,$temp[$x],($pix_left+25),($i+17)+(($x+1)*15),$black,$txt_font);
        }
        }
    }
---------------------SLUT
Der noget i : $positions og ['hjelpe_txt']
Men den skriver intet ud? teksten forsvinder i $temp ?

Er der nogen der kan se fejlen????
Avatar billede zurekk Nybegynder
16. december 2007 - 22:14 #1
Hvad er der i $text?
Fordi er $text mindre end $strlen vil den jo ikke returnere noget.

Men hvad er det egentlig du prøver på, med ttfWordWrappedText?
Ville gøre det meget lettere at hjælpe hvis jeg vidste hvad du prøvede på :)
Avatar billede artico Novice
17. december 2007 - 00:42 #2
Jeg skriver noget tekst i nogle input,og når de postes ['hjelpe_txt'], , så bliver teksterne lavet til grafik sammen med et gif eller jpg billede.

Det hele virkede fint dog uden ÆØÅ æøå.. så derfor denne kode der skulle bibeholde ÆØÅ æøå.. men istedet forsvinder det hele :-(

Jeg viser ovenstående kode fordi det er et eller andet sted dér der er et problemos
Avatar billede zurekk Nybegynder
17. december 2007 - 00:51 #3
Okay, hvad gør den så med ÆØÅ?
Er du sikker på at din font understøtter ÆØÅ?
Avatar billede artico Novice
17. december 2007 - 01:05 #4
Det er arial.ttf og den har virket fint da jeg testede scriptet på en enkelt side, nu er det flyttet, så det skal kaldes via index.php?nx=upload/script ?

Den fjerner simpelthen alt den tekst der skulle genereses ? og har prøvet at echoe $positions[$i]['hjelpe_txt'] og der er noget i inden functionén starter ? hmm
Avatar billede zurekk Nybegynder
17. december 2007 - 01:26 #5
Hvad er længden på hjelpe_txt?

Som sagt skal den være længere end $strlen, ellers returnere den intet :)
Avatar billede artico Novice
18. december 2007 - 09:12 #6
Hmm.. jeg echoer

[1] => Array
        (
            [punkt] => 1
            [kordinat_x] => 190
            [kordinat_y] => 88
            [hjelpe_txt] => æøå ÆØÅ
        )
HER--------

for($i = 1; $i <= 8; $i++)
    {
        if(array_key_exists($i, $positions))
        {
        setDot($new_img2,'grafik/dots/dot_'.$i.'.gif',$pix_left,($i*$pix_space)-$pix_space);
        $temp = ttfWordWrappedText($positions[$i]['hjelpe_txt'],30);
       
        echo '<pre>';
        echo "Hermed positions";
    print_r($positions);
    echo '</pre>';   
   
       
        for($x = 0; $x < count($temp); $x++)
        {
            setText($new_img2,$temp[$x],($pix_left+25),($i+17)+(($x+1)*15),$black,$txt_font);
        }
        }
    }

Men ved ikke hvor jeg ellers skal kikke ? :-)
Avatar billede artico Novice
22. april 2011 - 18:47 #7
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester