J'essaie, pour des raisons que mon inconscient connaît le mieux, de générer une image ressemblant à une chute de neige.Problèmes avec imageetpixel et affichage de l'image avec php5 et gd 2.0 (ou plus, apparemment)
et GD En utilisant PHP5 v2.0 (ou supérieur), j'utilise le php/html suivant:
<?php
$x = $y = 100;
$gd = imagecreatetruecolor($x,$y);
$w = imagecolorallocate($gd, 255, 255, 255);
$b = imagecolorallocate($gd, 0, 0, 0);
for ($r=1; $r <= $y; $r++) {
for ($c=1; $c <= $x; $c++) {
if (rand(0,1) == 0) {
$rand = $w;
}
else {
$rand = $b;
}
imagesetpixel($gd,$r,$c,$rand);
}
}
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="css/stylesheet.css" />
</head>
<body page="snowcrash2">
<?php
echo "<div id=\"snowcrashimg\">";
header('Content-Type: image/png');
imagepng($gd);
echo "</div>";
?>
</body>
</html>
Je tentais de itérer sur chaque « colonne » de chaque « ligne » du image, définissant la valeur du pixel sur 1 ou 0 pour refléter le noir ou le blanc. Cependant, cela déclenche l'erreur (amusante): "Avertissement: Impossible de modifier les informations d'en-tête - les en-têtes déjà envoyés par (sortie démarrée à /var/www/play/snowcrash2.php:32) dans/var/www/play /snowcrash2.php on line 51 "
Le déplacement de l'en-tête (...) vers les premières lignes de la ligne (dans le but de placer l'en-tête quelque part où il pourrait être envoyé à temps) conduit à l'erreur suivante (sous forme d'image): l'image "http://127.0.0.1/play/snowcrash2.php" ne peut pas être affiché, car il contient des erreurs «
Umm ... aider
.?
Le seul autre sujet qui est apparu est celui-ci Generated image using PHP and GD is being cut off, qui n'a pas de réponse acceptée et n'est pas, autant que je puisse le voir, pertinent au problème que j'ai.
vous, monsieur, êtes un génie * * merci! :) Tout ce que je veux faire maintenant est de le transformer en une fonction, et être capable de passer des valeurs x et y à partir d'un formulaire ... soupir ...;) –
Pas de problème. Aussi pas besoin de faire une fonction, la balise
I <3 Stackoverflow! :) –