Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > Imagick
Imagick Forum d'entraide pour l'extension Imagick permettant de manipuler des images en PHP (port de l'API ImageMagick).
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 22/08/2007, 23h51   #1
Invité de passage
 
Inscription : août 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 5
Points : 4
Points : 4
Par défaut [ImageMagick] problème d'affichage d'une image générée

Bonjour,

Je suis actuellement face à un petit souci qui me fait perdre pas mal de temps. J'en appelle donc à votre aide :

Mon code consiste en une interface simple où l'utilisateur rempli 2 champs textes qui sont ensuite affichés sur une image.

J'ai construit ma classe d'image à partir de celle du captcha GOTCHA
Pour diverses raisons je dois conserver sur un certain temps les données entrées par l'utilisateur mais je ne dois pas utiliser de base, j'ai donc choisi de stocker mes champs textes dans des fichiers temporaires dont le nom est un ID unique.
C'est dont cet id unique que j'envoie en paramètre ma page qui génére l'image.
Cette dernière se débrouille d'aller lire ce dont elle a besoin avant de construire l'image.

Si je valide mon formulaire, je n'ai pas d'image, seulement le texte alternatif.
Lorsque j'appelle mon image directement via l'url en passant l'id en paramètre elle s'affiche sans problème.
J'ai évidemment vérifier mon header, je ne pense pas avoir fait d'erreur de ce côté là.


voici les codes de mes pages :

index.php > http://pastebin.com/f174d271c
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
<?
include 'include/inc_values.php';
include 'include/inc_class.php';
include 'include/inc_moteur.php';
 
$_IMAGE_URI = 'include/inc_image.php?USER='.$_POST['USERID'];
 
?>
<html>
<head>
	<title>Interface</title>
	<link title="style" media="screen" href="style.css" rel="stylesheet" />
</head>
<body>
 
<div class="vignettes"></div>
<div class="preview">
<img src="include/inc_image.php?USER=<? print $_POST['USERID']; ?>"  alt="preview" style="width:<?php print $__SIZES[$p][0]; ?>; height:<?php print $__SIZES[$p][1]; ?>;"/>
</div>
<div class="formulaire"><?php include 'inc_form.php'; ?></div>
<div class="bottom"></div>
 
</body>
</html>

inc_image.php > http://pastebin.com/f440708a6
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
25
26
<?php
include 'inc_values.php';
include 'inc_class.php';
 
//chargement du cache
$dataIn = new affiche();
$dataIn->read($USER);
 
$image_width 	= $__SIZES[$p][0];
$image_height	= $__SIZES[$p][1];
 
$img = new GotchaJpeg($image_width, $image_height);
 
if($img->create($__BGCOLORS[$p])){
	//text.
	$t1= new TextEffect($dataIn->TITRE1, $__FONTSIZE[0], $__POSITIONTITLE01[$p][0], $__POSITIONTITLE01[$p][1]);
	$t2= new TextEffect($dataIn->TITRE2, $__FONTSIZE[1], $__POSITIONTITLE02[$p][0], $__POSITIONTITLE02[$p][1]);
	$t1->addFont('arial.ttf');
	$t2->addFont('arial.ttf');
	$img->apply($t1);
	$img->apply($t2);
	$img->render();
}
 
 
?>
(pour indication seulement, je ne pense pas que ces 2 pages soient en cause)
inc_class.php > http://pastebin.com/f38dd97cb


inc_moteur.php > http://pastebin.com/f71a59629


Merci d'avoir pris le temps de prendre connaissance de mon problème et merci d'avance pour l'aide que vous pourrez m'apporter.
iamyog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 12h35   #2
Invité de passage
 
Inscription : août 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 5
Points : 4
Points : 4
Re bonjour,

aprés avoir bien fouillé j'ai trouvé une erreur d'inatention et de confusion entre imagejpeg et imagepng, c'est corrigé mais ça n'arrange pas mon problème.

J'ai essayé d'écrire l'image sur le serveur puis de la lire et de l'afficher en brut dans ma balise img.
Je me suis aperçu que l'image n'était pas créée si je validais mon formulaire mais seulement si j'appelais direct le code de la page qui génère (inc_image.php avec l'id unique en paramètre)

il semblerait donc que le script ne s'exécute pas s'il est inclus dans l'index.
J'ai beau chercher, imprimer le contenu de mes variables dans des fichiers textes pour trouver ce qui cloche, rien ne me paraît anormal.

Quelqu'un aurait une idée ? j'en peux plus là ^^



[EDIT] Résolu (et c'est pas faute d'en avoir bavé )
selon la loi de l'emmerdement maximum qui veut que plus l'erreur est bête, plus on mets de temps à la trouver... je me suis aperçu qu'il manquait un paramètre lorsque j'appelai la page générant mon image. Or (bien sur) il était vital pour le script puisqu'il correspondait à l'index de plusieurs valeurs stockées en tableaux.

pardon pour le dérangement.
merci quand même de m'avoir lu
iamyog 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 04h48.


 
 
 
 
Partenaires

Hébergement Web