Avatar billede 7th Praktikant
17. maj 2004 - 13:26 Der er 6 kommentarer og
1 løsning

Vise GD lib billede på side

$hitsIm = @imageCreate (124 , 9) or die ("Cannot stream image...");

$bColor = imageColoralLocate ($hitsIm , 255 , 255 , 255);
$tColor = imageColoralLocate ($hitsIm , 0 , 0 , 0);

imageTTFText ($online , 6 , 0 , 0 , 7 , $tColor , "ttf.ttf" , "999 hits...");

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

imagePNG ($hitsIm);
imageDestroy ($hitsIm);

Jeg har ovenstående kode. Mit simple spørgsmål lyder. Hvordan kan jeg få udskrevet billede på samme side?

Jeg er godt klar over, at jeg kan indhente koden med <img alt="" height="9" src="gd-lib-kode.php" width="124"> fra en anden side, men hvis det andet kan lade sig gøre, så har jeg sparet en side :)
Avatar billede Slettet bruger
17. maj 2004 - 13:28 #1
Kan du ikke wrappe det om en ifsætning, der tjekker om $hitsIm isset, og hvis den er det, så echoer den billedet, og hvis ikke, så kører den dit imagecreate script?
Avatar billede 7th Praktikant
17. maj 2004 - 13:33 #2
Jov, men jeg fik hvis ikke helt forklaret mig godt nok :)

<?
$hitsIm = @imageCreate (124 , 9) or die ("Cannot stream image...");

$bColor = imageColoralLocate ($hitsIm , 255 , 255 , 255);
$tColor = imageColoralLocate ($hitsIm , 0 , 0 , 0);

imageTTFText ($hitsIm , 6 , 0 , 0 , 7 , $tColor , "sf-intermosaic.ttf" , "999 hits...");

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

imagePNG ($hitsIm);
imageDestroy ($hitsIm);
?>
<html>
<head>
<title>Test</title>
</head>

<body>

<img alt="" height="9" src="???" width="124">

</body>
</html>

Jeg vil gerne have billedet udskrevet således, men lige nu får jeg nogle mystiske ‰PNG  IHDR| Ê?ڏPLTEÿÿÿUÂÓ~9IDATxœc tegn.
Avatar billede taskmgr Nybegynder
17. maj 2004 - 13:36 #3
Først sætter du din content-type til at være "image/png" og derefter pifter du det lidt op med noget html? :) Det er vist ikke helt efter standarderne :)
Avatar billede taskmgr Nybegynder
17. maj 2004 - 13:38 #4
<?
$hitsIm = @imageCreate (124 , 9) or die ("Cannot stream image...");

$bColor = imageColoralLocate ($hitsIm , 255 , 255 , 255);
$tColor = imageColoralLocate ($hitsIm , 0 , 0 , 0);

imageTTFText ($hitsIm , 6 , 0 , 0 , 7 , $tColor , "sf-intermosaic.ttf" , "999 hits...");

imagePNG ($hitsIm, "hits.png");
imageDestroy ($hitsIm);
?>
<html>
<head>
<title>Test</title>
</head>

<body>

<img alt="" height="9" src="hits.png" width="124">

</body>
</html>
Avatar billede 7th Praktikant
17. maj 2004 - 13:46 #5
Tak taskmgr, men jeg vil helst slippe for at skulle oprette en ny billede fil, hvis du forstår.

Hvordan kan det være, at hvis jeg ændre det til JPEG og gør således

if (isset ($_GET['hits']))
{
    $hitsIm = @imageCreate (124 , 9) or die ("Cannot stream image...");

    $bColor = imageColoralLocate ($hitsIm , 255 , 255 , 255);
    $tColor = imageColoralLocate ($hitsIm , 0 , 0 , 0);

    imageTTFText ($hitsIm , 6 , 0 , 0 , 7 , $tColor , "sf-intermosaic.ttf" , $_GET['hits']." hits...");

    header ("Content-type: image/jpeg");

    imageJPEG ($hitsIm);
    imageDestroy ($hitsIm);
}

<img alt="" height="9" src="test.php?hits=111" width="124">

så virker det, men hvis jeg ændre det tilbage til PNG, så virker det ikke?
Avatar billede 7th Praktikant
17. maj 2004 - 14:02 #6
Jeg stiller mig tilfreds med din løsning taskmgr. Det var jo faktisk ret enkelt. Havde ikke lige tænkt på det. Tak for hjælpen :)
Avatar billede taskmgr Nybegynder
18. maj 2004 - 11:16 #7
Velbekomme :) tak 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