Bonjour,
voilà ce qui m'amène:
Je cherches à créer une image png de telle sorte qu'à chaque passage dans une boucle, une nouvee image soit créée et qu'à la fin elle se superposent. Je vous passe le code
<?php
//récupration des sonnées nescesaires de sujet2_4.php
function comparaison($comparaison,$pid_new,$i){
$nbImg = 0;
$sortie="img_temp";
while(file_exists($sortie.$nbImg)){
$nbImg ++;
}
//taille du tableau
$taille=sizeof($comparaison);
//dimensions de l'image
$largeur=10;
$hauteur=20*$taille;
$image=imagecreate($largeur,$hauteur);
//couleurs de l'image en rvb
$blanc=imagecolorallocate($image,275,275,275);
$rouge=imagecolorallocate($image,275,0,0);
$bleu=imagecolorallocate($image,0,0,275);
//pour chaque élément de la colonne de gauche
foreach($comparaison[$i] as $ortho)
{
$j=0; //initialisation du compteur pour la colonne de droite
//pour chaque élément de la colonne de droite
foreach($comparaison[$i-1] as $orthoprecedent)
{
$test=$orthoprecedent-$ortho;//on calcul la différence
//si c'est égal à +1 on trace un trait de "couleur supéreiure" entre les points de coordonnées 0,$i et 1,$j
if($test==1)
{
//dessin d'une ligne: imageline ([ressource image], [x,y de début], [x,y de fin], [couleur])
imageline($image,0,$i,10,$j,$rouge);
}
//si c'est égal à -1 on trace un trait de "couleur inférieure" entre les points de coordonées 0,$i et 1,$j
elseif($test==-1)
{
imageline($image,0,$i*$taille,10,$j*$taille,$bleu);
}
//dans les autres cas on ne trace rien
$j=$j+1;
}
}
//affichage de l'image
imagepng($image,$sortie.$nbImg);
//destruction de l'image dans la mémoire
imagedestroy($image);
return($sortie.$nbImg);
}
?>
Toutes les infos arrivent d'un sript extérieur mais voilà je tombe sur le message suivant:
Warning: imagepng() [function.imagepng]: Unable to open 'img_temp0' for writing in /home/alexandre/WWW/proteine/logique.php on line 52
Si vous pouviez me filer un petit coup de main pour que ça s'améliore je suis preneur ;)
Configuration: Linux
Firefox 1.5.0.10