Gå til innhold

Genere bilder med PHP problem.


Anbefalte innlegg

Jeg holder paa aa leare meg PHP og leker meg med litt forskellige ting for aa faa kunnskap nok til aa gjoere noe serioest i PHP

 

Har laget gestebook (PHP's Hello World) saa da tenkte jeg at en Poll ville veare det naturlige aa gjoere som neste oppgave.

 

Men foer jeg har kommet skikkelig igang med pollen min saa faar jeg ett problem som jeg ikke klarer aa loese..

Proever aa vise resultatet grafiskved aa genere jpeg bilder utifra resultatet.

 

Problemet er at jeg ikke klarer aa genere mer enn ett bilde om gangen .

 

Denne koden lager ett bilde, jeg proever aa lage to :)

 


<?php

// Bilde 1 

$myPicture = ImageCreate(200,20);

$bg = ImageColorAllocate($myPicture,0,0,101);



// Bilde 2

$myPicture2 = ImageCreate(15,20);

$bg = ImageColorAllocate($myPicture2,0,0,101);



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

// Bilde 1

ImageJPEG($myPicture);

// Bilde 2

ImageJPEG($myPicture2);

?>

 

Er det noen som kan forklare meg hva jeg gjoer galt og kanskje vist meg hvordan jeg kan genere flere bilder..

Takker for all hjelp og svar

Lenke til kommentar
Videoannonse
Annonse


<?php

$img = array("1" => "200.20", "2" => "15.20");



foreach($img as $key => $value){



          $name = substr($value, strrpos($value, '.'));

          $first = substr($name, 0, strrpos($name, '.'));

          $second = substr($name, 0, strpos($name, '.'));



          $mypicture.$key = ImageCreate($first,$second);  

          $bg = ImageColorAllocate($myPicture.$key,0,0,101);

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

          ImageJPEG($myPicture.$key);

          ImageDestroy($mypicture.$key);

}

?>

 

mulig at det fungerer, men jeg tviler egentlig, for dette blir som at man skulle ha brukt et tegneprogram til å tegne to bilder og lagre dem samtidig i samme fila...

Lenke til kommentar

Nei det funker ikke helt.

 

Saa det er ikke mulig aa genere flere bilder i ett php dokument ?

 

La oss si jeg har en poll der resultatet er foelgene:

 

Yes : 20 %

No : 30 %

Dont Care : 50 %

 

Da tenkte jeg at jeg kunne vise dette ved aa generere bilde for veart av resultatene.

 

Feks :

Bilde for yes resultatet er 20 pixler langt , bilde for NO er 30 pixler og Dont care er 50 pixler.

Lenke til kommentar

Jeg fiksa det ved aa lagre bildet paa disken for hver gang det ble oppdatert ..

 

For dem som er interessert saa kan du ta en titt hvordan det funker her :

http://linuxkongen.net/~bergetun/vote/vote.html

 

Her er koden:


<?php



include("dbconnect.php");



function makePicture($imageSize, $imageFilename)

{

$myPicture = ImageCreate($imageSize,10);

$bg = ImageColorAllocate($myPicture,220,0,101);



ImageJPEG($myPicture, $imageFilename);

ImageDestroy($myPicture);



}

if($_POST['submit'] == "Vote!")

{

$myVote = $_POST['radiobutton'];



If ($myVote == "no")

{

 $myTable = "no";

}

else if ($myVote == "yes")

{

 $myTable = "yes";

}

else if ($myVote == "dont")

{

 $myTable = "dont";

}



 $query = "INSERT INTO vote ($myTable) VALUES ('$myVote')";

 mysql_query($query) or

 die(mysql_error());

}



$myQuery = mysql_query("SELECT count(vote_id) as total, count(yes) as yes, count(no) as no, count(dont) as dont FROM vote") or

die(mysql_error());



while($row = mysql_fetch_array($myQuery))

{

$myTotalResult = $row["total"];



$myYesResult = $row["yes"];

makePicture($myYesResult * 10, "yes.jpeg");



$myNoResult = $row["no"];

makePicture($myNoResult * 10, "no.jpeg");



$myDontResult = $row["dont"];

makePicture($myDontResult * 10, "dont.jpeg");

}



$myYesResult = round($myYesResult * 100 / $myTotalResult);

$myDontResult = round($myDontResult * 100 / $myTotalResult);

$myNoResult = round($myNoResult * 100 / $myTotalResult);



echo "<b> Total Votes: </b> $myTotalResult<br /><br />";



echo "<b> Yes:<br /> <img src='yes.jpeg'></b> $myYesResult%<br />";



echo "<b> No:<br /> <img src='no.jpeg'></b> $myNoResult%<br />";



echo "<b> Dont Care:<br /> <img src='dont.jpeg'> </b>$myDontResult%<br />";





?>

 

PS bruker mysql til aa lagre dataen men det forsto du vel.

Lenke til kommentar

ja nå så jeg jo hva du skulle ha det til:

 

men istedenfor å lage tre bilder kan du prøve å lage en function i en egen php fil som tar $width til bildet fra mysql.

 

så i html er det da bare å skrive:

 

Yes<img src="script.php?width=xXx" />

No<img src="script.php?width=xXx" />

Don't Care<img src="script.php?width=xXx" />

Lenke til kommentar
ja nå så jeg jo hva du skulle ha det til:  

 

men istedenfor å lage tre bilder kan du prøve å lage en function i en egen php fil som tar $width til bildet fra mysql.

 

så i html er det da bare å skrive:

 

Yes<img src="script.php?width=xXx" />  

No<img src="script.php?width=xXx" />  

Don't Care<img src="script.php?width=xXx" />

 

 

Heheh . ja selvfoelgelig, det er jo mye bedre egentlig.

Da kan jo jeg bare lage en fin graph i ett tegneprogram og sette stoerrelsen dynamisk med html tagger..

 

Det enkle er ofte det beste ja .. :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...