8791 sujets

Développement web côté serveur, CMS

bonjour

Je définis d’abord une image :

$image=imagecreate($largeur_image,$hauteur_image)

Je décris ensuite des couleurs, comme :

$noir=imageColorAllocate($image,0,0,0);

J’ai à la fin un bug sur :

imagettftext ($image,$fontpoint,0,$largeurcarc_consigne1,$hauteurcarc_consigne1,$noir,$font,$alerte_texte);

Qui me dit :

Warning: imagettftext() expects parameter 6 to be long, string given

Quand je fais un echo sur la couleur (6e paramètre):

noir: #000000


J’utilise les mêmes spécifications de couleur avec d'autres imagettftext, sans incident.

Par avance merci de votre aide

Francois
Salut,

Il me semble qu'il faille utiliser la couleur RVB pour cette fonction.

Voir exemple donnée sur les liens :

// Création de quelques couleurs
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
bonjour et merci de ta réponse.

Je crée bien mes couleurs de la manière que tu indiques; par exemple, le noir en 0,0,0.

Francois
Tu pourrais faire un echo de ceci et afficher le résultat stp ?

<?php
echo 'imagettftext ('.$image.','.$fontpoint.',0,'.$largeurcarc_consigne1.','.$hauteurcarc_consigne1.','.$noir.','.$font.','.$alerte_texte.');';
?>
bonjour Super

Voila:

imagettftext (Resource id #8,18,0,5,72,#000000,arialbd.ttf,);


Le noir me parait bien, sauf erreur de ma part.

Francois
imagecolorallocate() doit te renvoyer un entier correspondant à l'identifiant de la couleur allouée.

En aucun cas il ne devrait te retourner la couleur au format hexadécimal.

Par exemple si je fais cet essais :

$im = imagecreatetruecolor(400, 30);
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
echo $white .'<br />';
echo $grey .'<br />';
echo $black .'<br />';

cela m'affiche :

16777215
8421504
0
bonjour

Ce que tu dis est positif en mettant en évidence une erreur; maintenant, reste à trouver l'origine.

Mon module principal:

$image=imagecreate($largeur_image,$hauteur_image);
// définition des couleurs
include ("couleurs.php");
...


Mon module couleurs:

$noir = imageColorAllocate($image,0,0,0);
$rouge=imageColorAllocate($image,255,0,51);
...



Mon module de traitement:

imagettftext ($image,$fontpoint,0,$largeurcarc_consigne1,$hauteurcarc_consigne1,$noir,$font,$alerte_texte);
...


Si ça peut t'orienter sur une origine de cette erreur.

Francois
Merci pour le retour.

Essaye ceci :

imagettftext ($image,$fontpoint,0,$largeurcarc_consigne1,$hauteurcarc_consigne1,0,$font,$alerte_texte);


Si ça fonctionne, c'est bien la couleur qui pose soucis.
Modifié par Super_baloo8 (10 Jan 2012 - 01:23)