Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
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 01/04/2008, 10h42   #1
Membre actif
 
Homme
Développeur Web
Inscription : juillet 2007
Messages : 193
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juillet 2007
Messages : 193
Points : 189
Points : 189
Par défaut Cast Hexadecimal

Bonjour,

Je suis en train de développé une appli utilisant ChartDirector. C'est une bibliothèque propriétaire permettant de construire des graphiques.

Il est possible de customiser la couleur des éléments dans les graphique et c'est là que j'ai un soucis. Les couleurs sont en hexadecimal et n'accepte pas le type string.
Voici le code qui fonctionne:
Code :
1
2
 
$oGraph->setPlotArea($nMargLeft, $nMargBottom, $nWidthPlot, $nHeightPlot, 0xf8f8f8, 0xffffff);
Voici les codes qui ne fonctionnent pas
Code :
1
2
3
4
 
$oGraph->setPlotArea($nMargLeft, $nMargBottom, $nWidthPlot, $nHeightPlot, '0xf8f8f8', '0xffffff');
ou 
$oGraph->setPlotArea($nMargLeft, $nMargBottom, $nWidthPlot, $nHeightPlot, "0xf8f8f8", "0xffffff");
Mon principal problème est que mes couleurs parviennent d'un fichier de configuration (un YAML annalysé par symfony) et les valeurs retournées sont des strings. Je n'ai pas trouvé dans la doc PHP comment caster mon string en hexa (pour cause ce type n'existe pas), si quelqu'un avait une solution ou un début de réflexion à me proposer, ce serait bien sympa.

Merci
metfan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2008, 11h30   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Code :
$oGraph->setPlotArea($nMargLeft, $nMargBottom, $nWidthPlot, $nHeightPlot, intval('0xf8f8f8', 16), intval('0xffffff', 16));
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2008, 15h11   #3
Membre actif
 
Homme
Développeur Web
Inscription : juillet 2007
Messages : 193
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juillet 2007
Messages : 193
Points : 189
Points : 189

Ca marche, merci beaucoup! Mais je n'ai pas tout compris au fonctionnement de la fonction. Va falloir que je révise mes cours.
metfan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 21h23   #4
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Une valeur représentée en hexadécimal est simplement une représentation alternative d'un entier. Un nombre entier peut être représenté dans la base que tu veux : binaire, hexadécimal, octal, décimal... C'est pour cela qu'intval() fonctionne, ou un cast classique si tu veux gagner en performances :
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui 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 19h04.


 
 
 
 
Partenaires

Hébergement Web