Artichow : Forum Artichow !
Camembert 3D et valeur nulle
Auteur: micro (IP enregistrée)
Date: le 13 août 2008, 10:34

Bonjour,

Les valeurs à afficher proviennent d'un traitement qui dans certains cas retourne des valeurs nulles (=0).

En simulant ces valeurs dans examples/pie-002.php

$values = array(8, 4, 6, 2, 0, 3, 4);


Dans ce cas la valeur 0 est représentée par une part de camembert de 360° ce qui rend le camembert incompréhensible. Ce pb a du déjà être évoqué mais je n'en trouve pas trace, une solution existe-t-il ?

Merci

Superbe boulot !

Re: Camembert 3D et valeur nulle
Auteur: esquissse (IP enregistrée)
Date: le 22 août 2008, 15:50

Bonjour à tous,

J'ai le même problème que micro, si quelqu'un avait une solution, cela serait super !
En attendant je cherche de mon côté.

Re: Camembert 3D et valeur nulle
Auteur: sogmko (IP enregistrée)
Date: le 1 septembre 2008, 11:46

Bonjour a tous,

Meme probleme que vous,

Par contre j'ai remarqué que ça fonctionnait pas avec ces version :

php5-gd-5.1.2-29.50
apache2-mod_php5-5.1.2-27
php5-5.1.2-27


Mais OK sous ces versions :

php5-5.1.6-15.el5
php5-gd-5.1.6-15.el5

Je suis bloqué comme vous ...

Si vous avez une solution hésitez pas

Merci



Message édité 1 fois. Dernière modification le le 01/09/08 à 12:36

Re: Camembert 3D et valeur nulle
Auteur: sogmko (IP enregistrée)
Date: le 2 septembre 2008, 08:37

J'ai fait un petit patch, en esperant que ca va fonctionner pour vous :

dans Artichow/php5/Pie.class.php

J'ai remplacer :

$values[$key] = array(
$position, ($position + $angle), $explode
);
par :
if($angle !=0){
$values[$key] = array(
$position, ($position + $angle), $explode
);
}

En fait, j'ai juste rajouter la condition ...

Bon courage ++

Re: Camembert 3D et valeur nulle
Auteur: ALL (IP enregistrée)
Date: le 23 septembre 2008, 00:01

Bonjour,
Merci sogmko pour ton pacth !! :)
Mais hélas, ca ne marche pas quand la dernière valeur est égale à zéro !!!
Le camembert garde alors qu'une couleur...

Bref, y'aurais peut-être une petite modif à faire encore....

Merci d'avance.




Re: Camembert 3D et valeur nulle
Auteur: sankukai8 (IP enregistrée)
Date: le 1 octobre 2008, 16:23

le patch de sogmko fonctionne presque. Pour ma part, lorsque je fais ce qu'il dit, j'obtiens un message d'erreur à la ligne 525.
En effet, lorsque l'angle est nul, la valeur dans $values[$key] n'est plus ajoutée.

voila ce que j'ai mis et qui semble fonctionner correctement chez moi:

if ($angle!=0) $values[$key] = array($position, ($position + $angle), $explode);
else $values[$key] = array($position, ($position+1), $explode);

en gros je lui dis de faire un angle de 1° si l'angle est nul.
Cela marche bien dans le cas d'un camembert 3d, même si le 0% correspondant dépasse du camembert (normal car c'est un 3d)


Re: Camembert 3D et valeur nulle
Auteur: zecas (IP enregistrée)
Date: le 20 octobre 2008, 16:21

J'ai posté une solution à ce problème dans son rapport de bogue : [www.artichow.org]

Je suis nouveau dans le forum, mais j'ai l'impression que le développement d'Artichow est arrêté?

Je colle la solution ici pour ceux qui ont la flemme d'ouvrir un compte Mantis :


.............................................


Le problème est dans la fonction php "imagefilledarc" : si l'angle de début et de fin sont les mêmes, php dessine un tour complet. Constaté avec php 5.1.6.

Patch possible : dans inc/Drawer.class.php, ajouter

if($from!=$to)

avant l'appel de cette fonction au début de filledArc :

public function filledArc(awColor $color, awPoint $center, $width, $height, $from, $to) {

if ($from!=$to)
imagefilledarc(

Re: Camembert 3D et valeur nulle
Auteur: sankukai8 (IP enregistrée)
Date: le 21 octobre 2008, 23:18

Merci pour l'info
ca marche en effet
j'ai malgré tout laissé ma modif pour "voir" la couleur associée à mon 0% dans mon camembert eclaté.

En ce qui concerne le dvpt d'artichow j'ai l'impression aussi que ça n'avance plus beaucoup...

Re: Camembert 3D et valeur nulle
Auteur: Dooc (IP enregistrée)
Date: le 29 juin 2009, 14:26

Pour information le patch ne se situe plus au même endroit pour la version php5 de Artichow.
Le fichier à modifier se trouve dans inc/drivers et c'est gd.class.php.

Il faut donc écrire dans la fonction "filledArc":
if ($from!=$to){
imagefilledarc(
$this->resource,
$this->x + $center->x, $this->y + $center->y,
$width, $height,
$from, $to,
$this->getColor($color),
IMG_ARC_PIE
);
}

Si ça peut éviter à d'autre de chercher pendant plus de 30min ;).

Re: Camembert 3D et valeur nulle
Auteur: thomed (IP enregistrée)
Date: le 3 juillet 2009, 10:43

J'avais le même problème.
Je dis bien 'j'avais'.
Merci à tous



Seules les personnes enregistrées peuvent poster sur ce forum.