JPGs erstellen

MaxMara

Mitglied
Hallo Leute!

Ich versuche gerade eine kleine Website zu machen, die dynamisch kleinen JPEGs erstellt und diese jeweils in eine Zelle von einer table reinschreibt.
Irgendwie klappt das aber nicht wirklich.
Ich poste mal hier meinen Code und hoffe ihr könnt mich ein wenig schlauer machen :)

Code:
<table cellspacing="0" cellpadding="0">
<?


for ($i = 1; $i <= 80; $i++) 
{
?>
<tr>
	<?
	for ($j = 1; $j <= 400; $j++) 
	{
	$red = rand(0, 255);
	$green = rand(0, 255);
	$blue = rand(0, 255);
    $im = imagecreatetruecolor (10, 10); 
    $bgc = ImageColorAllocate ($im, $red, $green, $blue);
    ImageFill($im, 0, 0, $bgc);
	?>
	<td bgcolor="#000000"><img src="<? return ($im); ?>"></td>
	<?
	imagedestroy($im);
	}
	?>
</tr>
<?
}
?>
</table>

Danke schon mal für eure Antworten.

Grüße
Christian
 
Wie wärs so?

<table cellspacing="0" cellpadding="0">
<?php

$i = 1;
for ($i <= 80; $i++)
{
?>
<tr>
<?php
$j = 1;
for ($j <= 400; $j++)
{
$red = rand(0, 255);
$green = rand(0, 255);
$blue = rand(0, 255);
$im = imagecreatetruecolor (10, 10);
$bgc = ImageColorAllocate ($im, $red, $green, $blue);
ImageFill($im, 0, 0, $bgc);
?>
<td bgcolor="#000000"><img src="<?php return ($im); ?>"></td>
<?php
imagedestroy($im);
}
?>
</tr>
<?
}
?>
</table>
 
So bald vor der des Ausgabe des header() HTML- Code steht
bekommst Du eine Fehlermeldung:

hier ein Beispiel welches funktioniert:

PHP:
<?php
        $red = rand(0, 255);
        $green = rand(0, 255);
        $blue = rand(0, 255);
        $im = imagecreatetruecolor (10, 10);
        $bgc = ImageColorAllocate ($im, $red, $green, $blue);
        ImageFill($im, 0, 0, $bgc);
        header("Content-Type: image/gif"); 
        imagegif($im);
?>
 
Danke!
Ich hab jetzt aus der einen Datei 2 gemacht:
die erste:
PHP:
<table cellspacing="0" cellpadding="0">
<?for ($i = 1; $i <= 80; $i++) {?>
<tr>
<?	for ($j = 1; $j <= 200; $j++)
{
?>
<td bgcolor="#000000">
<img src="temppic.php">
</td>
<?
}
?>
</tr>
<?}?>
</table>

und die zweite:

PHP:
<?
    $red = rand(0, 255);
    $green = rand(0, 255);
    $blue = rand(0, 255);
    $im = imagecreatetruecolor (10, 10);
    $bgc = ImageColorAllocate ($im, $red, $green, $blue);
    ImageFill($im, 0, 0, $bgc);
    header("Content-Type: image/jpeg");
    imagejpeg($im);
    imagedestroy($im);
?>

Nur jetzt macht er die Kästchen immer in der gleichen Farbe. Das heisst er lädt nur einmal die temppic.php generiert dort ein Bild und das wiederholt er immer.
Wie bekomm ich jetzt ein bisschen mehr (abwechselnde) Farbe in das Ganze?

Grüße
Christian
 
Zuletzt bearbeitet:
Hm.
Hab es jetzt selbst "gelöst". Nur die Lösung gefällt mir nicht wirklich, da sie ziemlich langsam ist.

Ich mache den IMG-Aufruf jetzt per
Code:
$tmp= md5(rand(0,10000));
..
<img src="temppic.php?temp=<? echo($tmp);?>">

Jetzt braucht der Server (oder der Browser?) ziemlich lange um das Ganze darzustellen/aufzubauen.

Hat jemand von euch vielleicht eine schnellere Lösung parat?

Danke
Christian

(Wer sehen will, wie langsam es geht klickt bitte mal hier)
 
Zurück