Avatar billede kjeldsted Novice
12. marts 2008 - 12:45 Der er 10 kommentarer og
1 løsning

problemer med imagecreatefrompng()

Hej Alle.

Jeg er ved at lave et system der generere et png billede der indeholder nogle tilfældige tal. Der ønskes så at baggrunden til dette billede skal være en baggrund jeg har liggende i en .png fil på serveren. Problemet er så at det ikke er denne baggrund ikke bliver brugt, men deriomd bliver baggrunden sort. Koden er som følger:

// Set the content-type
header("Content-type: image/png");

// Create the image
$im = imagecreatetruecolor(400, 30);

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
//imagefilledrectangle($im, 0, 0, 399, 29, $white);
imagecreatefrompng("./background.png");
// The text to draw
$text = randomkeys(5);
$_SESSION['key']=$text;
$_SESSION['key2']=$text;
// Replace path by your own font path
$font = 'AXAXAX.ttf';

// Add some shadow to the text

// Add the text
imagettftext($im, 20, 0, 10, 20, $white, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>

Hvad gør jeg galt?

Håber der er nogle der kan hjælpe.

Mvh.
Kjeldsted
Avatar billede kjeldsted Novice
12. marts 2008 - 12:47 #1
Billedet er udskrives ser sådan ud: http://mj-design.dk/image_test.php
Avatar billede jakobdo Ekspert
12. marts 2008 - 13:56 #2
Prøv at fjern linjen:
$im = imagecreatetruecolor(400, 30);

og ret din linje:
imagecreatefrompng("./background.png");
til:
$im = imagecreatefrompng("./background.png");

Du bør nok rykke:
$im = imagecreatefrompng("./background.png");
op til samme sted som:
$im = imagecreatetruecolor(400, 30);
Avatar billede kjeldsted Novice
12. marts 2008 - 14:08 #3
Nu ser koden sådan ud som følger og den lave stadig baggrunden helt sort:

// Set the content-type
header("Content-type: image/png");

// Create the image
$im=imagecreatefrompng("./background.png");
// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
//imagefilledrectangle($im, 0, 0, 399, 29, $white);

// The text to draw
$text = randomkeys(5);
$_SESSION['key']=$text;
$_SESSION['key2']=$text;
// Replace path by your own font path
$font = 'AXAXAX.ttf';

// Add some shadow to the text

// Add the text
imagettftext($im, 20, 0, 10, 20, $white, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>
Avatar billede jakobdo Ekspert
12. marts 2008 - 14:32 #4
Har du et remote link til din png fil ?
Så skal jeg lege lidt. :o)
Avatar billede jakobdo Ekspert
12. marts 2008 - 14:33 #5
Har du set dit baggrunds billede ?

http://mj-design.dk/background.png
Avatar billede jakobdo Ekspert
12. marts 2008 - 14:58 #6
Det er helt sikker dit png billede den er gal med.
Tester din kode her: http://www.codebreaker.dk/exp/823374exp.php
Og der virker den fint.
Har lånt exp.dk logoet.
Avatar billede jakobdo Ekspert
12. marts 2008 - 14:59 #7
Avatar billede kjeldsted Novice
12. marts 2008 - 17:19 #8
Hovsa... Hm. Mysisk. Det billede jeg har lokalt er ikke sort. Må lige prøve at uploade igen.
Avatar billede kjeldsted Novice
12. marts 2008 - 17:22 #9
Nå, nu virker det så :D Billedet skulle så uploades igen... Men smid et svar så du kan få en lille fortjenste for din store hjælp.
Avatar billede jakobdo Ekspert
12. marts 2008 - 21:55 #10
Svar!
Avatar billede jakobdo Ekspert
13. marts 2008 - 08:59 #11
Takker for point.
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