Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > GD
GD Forum d'entraide pour l'extension GD permettant de manipuler des images en PHP. Avant de poster -> tutoriels GD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/06/2007, 01h48   #1
Membre actif
 
Inscription : février 2007
Messages : 399
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 399
Points : 156
Points : 156
Par défaut message d'erreur pour un code d'effet miroir

bonsoir à tous,
j'ai vraiment besoin d'aide concernant ce code qui realise un effet miroir sur une image.
le probleme c'est que je connais absolument rien du PHP, je voudrais integrer ce code dans une page html, alors je rencontre un petit probleme.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<?phpheader('Content-type: image/jpeg'); 
$source = imagecreatefromjpeg('test.jpg');
$largeur = imagesx($source);
$hauteur = imagesy($source); $temporaireUn = imagecreatetruecolor($largeur, 50);
$temporaireDeux = imagecreatetruecolor($largeur, 50);
$resultat = imagecreatetruecolor($largeur, $hauteur+50); 
$blancUn = imagecolorallocate($resultat, 255, 255, 255);
imagefill($resultat, 1, 1, $blancUn);$blancDeux = imagecolorallocate($temporaireDeux, 255, 255, 255);
imagefill($temporaireDeux, 1, 1, $blancDeux); 
imagecopy ($resultat, $source, 0, 0, 0, 0, $largeur, $hauteur);
imagecopy ($temporaireUn, $source, 0, 0, 0, $hauteur-50, $largeur, 50);
imageflip($temporaireDeux, $temporaireUn);imagecopy ($resultat, $temporaireDeux, 0, $hauteur, 0, 0, $largeur, 50); imagejpeg($resultat);imagedestroy($resultat);  
function imageflip(&$dest, &$src) 
{$w = imagesx($src);	
$h = imagesy($src);	
$alpha = 127;
for($y=0; $y<$h; $y++) 
{for ($x=0; $x<$w; $x++) 
   {$couleur = imagecolorsforindex($src, imagecolorat($src, $x, $y));	
$couleurAlpha = imagecolorallocatealpha($dest, $couleur['red'], $couleur['green'], $couleur['blue'], $alpha);
imagesetpixel($dest, $x, ($h-$y), $couleurAlpha);	
    }		
if($alpha > 1) $alpha--;	}}//*/?>
ceci m'affiche le msg d'erreur suivant:
Fatal error: Call to undefined function: phpheader() in c:\miroir\miroir.php on line 9

merci de m'aider
ranell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2007, 02h31   #2
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Une pure erreur syntaxique, enfin pour le moment vu que je me base sur l'erreur que tu nous donnes.

Alors la fonction phpheader n'existe pas. En effet, tu as collé le <?php à ta première ligne de code. Donc là ça risque de ne pas fonctionner.

Ah tiens à la fin du code tu risques d'avoir un soucis également.

Donc reprenons, au début du code tu remplaces :
Code :
<?phpheader('Content-type: image/jpeg');
par
Code :
1
2
<?php
header('Content-type: image/jpeg');
A la fin :
Code :
if($alpha > 1) $alpha--;	}}//*/?>
par
Code :
1
2
if($alpha > 1) $alpha--;	}}
?>
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2007, 13h06   #3
Membre actif
 
Inscription : février 2007
Messages : 399
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 399
Points : 156
Points : 156
merci pour m'avoir répondu, mais tjrs pas:
voila les nouveaux msg d'erreurs que j'ai:

Citation:
Warning: Cannot modify header information - headers already sent by (output started at c:\miroir\miroir.php:10) in c:\miroir\miroir.php on line 11
Citation:
Fatal error: Call to undefined function: imagecreatefromjpeg() in c:\miroir\miroir.php on line 13
merci de m'aider
ranell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2007, 13h28   #4
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Alors dans l'ordre :

header est une fonction à utiliser avec précaution, cela est détaillé ici : Explications et correction de l'erreur 'headers already sent'

Pour la deuxième, il ne trouve pas la fonction qui est citée. Maintenant il reste qu'à vérifier que ton hébergeur ne l'a pas désactivé. TU peux le faire grâce au phpinfo
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 21h07   #5
Membre actif
 
Inscription : février 2007
Messages : 399
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 399
Points : 156
Points : 156
super ! c'est résolu, merci bcp kerod
EDIT: juste une ptite precision pour ceux qui auront peut être le même probleme que moi, il faut modifier le fichier php.ini qui se trouve dans C:\Program Files\EasyPHP1-8\apache
chercher la phrase ; extension=php_gd2.dll (ctrl+f) et enlever le point virgule tout au debut.
avec le code que j'ai posté et les correction de Kerod ca devrai fonctionner
ranell est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h40.


 
 
 
 
Partenaires

Hébergement Web