ECRIRE UN TEXTE EN CERCLE SUR UNE IMAGE

nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 14 août 2008 à 14:20
pizzatoy Messages postés 2 Date d'inscription dimanche 5 juillet 2009 Statut Membre Dernière intervention 27 novembre 2009 - 27 nov. 2009 à 10:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47602-ecrire-un-texte-en-cercle-sur-une-image

pizzatoy Messages postés 2 Date d'inscription dimanche 5 juillet 2009 Statut Membre Dernière intervention 27 novembre 2009
27 nov. 2009 à 10:57
JADU : essaie avec le code ci-dessous :
---------------------------------------

Salut coucou747,

non, j'ai tout essayé, même avec les balises img, dans ce genre :
echo '< img alt="" src="' . $imageUrl . '" />';
j'ai cherché au niveau du caractère avec :
html_entity_decode('salut c est moi',null, 'utf-8')
... rien à faire...

Cependant j'ai trouvé sur http://www.phpfreaks.com/forums/index.php?topic=108566.0
ceci:

<?php
header("Content-type: image/png");
$im = imagecreate(400,200);
$white = imagecolorallocate($im, 255,255,255);
$black = imagecolorallocate($im, 0,0,0);
$cx 200;$cy 100;$cr = 80;
if (isset($_REQUEST["text"])) {$text = $_REQUEST["text"];}
else { $text = 'hello there';}
$length = strlen($text);
$degDelta = 360 / $length;
if ($length > 0) {$color = $black;
for ($x = 0; $x < $length; $x++) {
// Circular Text
$AX = $cx - cos(deg2rad($degDelta * $x)) * $cr;
$AY = $cy - sin(deg2rad($degDelta * $x)) * $cr;
imagettftext($im, 20, -($degDelta * $x + $degDelta / 2)+90 , $AX, $AY, $color, 'ariblk.ttf', $text[$x]);
}
}
imagepng($im);
imagedestroy($im);
?>

ça marche sur mon serveur MavenHosting. J'ai juste changé le $font pour mettre une police que j'ai sur mon serveur. J'ai une image qui apparaît en ligne avec un texte en cercle comme ton image sur le descriptif. Cela juste avec du php.
Je vais maintenant l'adapter sur mon site www.pizzatoy.com pour créer des logos pour les pizzerias. A suivre...

D'après toi ça peut venir d'où le truc qui bloque avec ton code ? Je vais continuer à regarder de mon côté !
@+
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
26 nov. 2009 à 21:34
ton navigateur, c'est quoi ??

t'as oublie de le mettre dans une balise img.
jadu Messages postés 217 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 16 août 2018
26 nov. 2009 à 19:43
C'est joli, mais ça ne fonctionne pas pour toi (non plus :-D )car ce n'est pas du tout en rond !!!
pizzatoy Messages postés 2 Date d'inscription dimanche 5 juillet 2009 Statut Membre Dernière intervention 27 novembre 2009
26 nov. 2009 à 18:59
Bonjour à tous,

j'ai tenté de lancer la source sur mon hébergement MavenHosting et je me retrouve avec ce genre de réponse :

‰PNG  IHDRÈÈ_v³­PLTEÿÿÿŸŸŸ???ßßß___¿¿¿[ÇÊÔIDATxœí›ÁSÚ@Æ—ŽýŒØC+NŠjåt°M[ÆâØ#‘j=šVÔ?»°:•Äì&ûèØÙßE'„|,ïí{oß.Œi4F£Ñ<ÐÙðÈ5€P‹Äèb•Z$ ^©|`q-Ä9jô³æããɺ: NÆ—Ÿ P'Á˜ Œžœ šÔHE2F×Ú8R*’ažu¥.† Eøg?ó.°€Rƒ‡ £töÕ ÄŸžþ­gEíû8ˍò†Jãq‚øYŠWƒ™þÃé|’ÖhŽêžw+cCÄÈ<]ËŠpÇõ¥,•H–>–øPŽ„ïç&|/øt[N° |nW’"&WàBžèý!J‹€Cùá·@ù˜™f«HØ”M8V™éswÎã=\_\Š[ðC&ÒÖž›¬{ò"¬-1»8ü ä°ñ›ýÌ4­˜\¥©2›­9hÈT|ÿÖ ø«b`'eL›•Dâ̲ö Ü¿Tñqçޔ毎„É×*þŸL>¡”žÉåžßj €:#)_šX[±HË+Ü–1àD®%TŒPÖøV#0±©ß.ìL¯ÁÌP¢Lù î›Âߟ+§Á‹s‰d–aßnÊŸSó1ÖŽr> S2ùù‘ÇF`Œ\]€–¿°1¡Dµù„¹™ËrmŸš^€§5/L6pÓÞ<”_e<á]ªñ3ïU^b·—‚®WM£jø¹=$ŸºªÁ­ºhçÞãxFþë}‡‡Ñê"­çÓ–É¿±âŠæyÂâ a§[µKÚ£_Bð‰ÌAD£ÑŒŒµ`­€V$°LcLŽ<›(Ýt›ÁįKŒ}Ú@mbb/õ«‰­ˆºkÅ­ŸQï¶òZÆ‹Ôî"ÍbŸœ² …°F£ÑŒDìyˆÄîú0›.ÝbpÒ×P{ò`†N¢Šyò,;ûšì=TÁÄø8`mÚ"qÒkûŽ"ÖŽ¡uE*bt'"Ž¥•Éì•n~¿K µt"ŽÎÅzé„ß/µ,N<5<­Èh2á«6ŽŠ0Ï>Ëáš ЋPó# ×Ø-jsª Ýp¥V1R÷¥V©;oé³b G£êýëBwЧÁéîô`›z Íœ ûÄÑq²OypòQEú„ŸŒŠOݘû?˜Ëº„ž2`—;ª&Gs®k'sø%Gz<“žndÓcH¹Jƒ|¥˜‘wáÙ$ÃÓ;‹Ý]…?KÉÁŸõç0kS…™ÕÎj4F£Ñh4F£ÑŒ,~°Ù}+áq–•IEND®B`‚

Qu'est-ce donc !?
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
3 oct. 2009 à 10:31
j'en ai plus depuis une bouteille de cabernet et 40 clopes
mehari2000 Messages postés 2 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 3 octobre 2009
3 oct. 2009 à 10:22
super solution pour les contours ! je n'y avais pas pensé ! t'aurais pas un bout de cerveau a me vendre ?
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
3 oct. 2009 à 10:17
je n'ai pas le temps de la modifier.

pour mettre le texte en gras, il te suffit de changer la police.

pour les contours, il faut ecrire chaque lettre en noir et en plus gros, puis en blanc et en plus petit
mehari2000 Messages postés 2 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 3 octobre 2009
3 oct. 2009 à 10:06
Salut a tous et merci pour toutes ces infos ...
cette fonction est pile celle que je voulais !
simple rapide efficace !
juste une question est il possible de mettre le texte en gras et/ou le mettre en blanc/contours noir comme wordart ?

merci encore pour cette fonction!
stef
Utilisateur anonyme
18 mai 2009 à 19:12
pour gerer le $font (police d'ecriture ) tu as 2 possibilites:

1-soit tu copy FreeMono.ttf dans formation/police/ (tu crais le dossier police dans ton dossier formation ) et tu y colles FreeMono.ttf.

puis tu transfome la ligne "$font '/usr/share/fonts/truetype/freefont/FreeMono.ttf';" par "$font './police/FreeMono.ttf';"
jadu Messages postés 217 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 16 août 2018
18 mai 2009 à 19:07
j'ai remplacé la ligne 38 par :
$font = 'C:/WINDOWS/Fonts/FreeMono.ttf';

mais c'est toujours la même chose !
jadu Messages postés 217 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 16 août 2018
18 mai 2009 à 18:57
j'ai remplacé la ligne 38 par :
$font = 'c:/windows/Fonts/FreeMono.ttf';

mais c'est la même chose !

L'image "http://localhost/formation/image-ecrit-rond.php" ne peut être affichée car elle contient des erreurs.

mince de mince, alors ;°(
jadu Messages postés 217 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 16 août 2018
18 mai 2009 à 18:53
[18-May-2009 18:47:13] PHP Warning: imagettftext() [function.imagettftext]: Invalid font filename in C:\wamp\www\formation\ecrit-en-rond.php on line 38

dans PHP error log
jadu Messages postés 217 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 16 août 2018
18 mai 2009 à 18:50
euh ...coucou747 me dit :
""met ton error_reporting a E_ALL et dit nous si l'erreur persiste""
>>>> je ne suis pas sûr de savoir faire ça !

Marcelolipi :
Wamp server version 2.0
Je suis (encore!) sous windows XP ( je n'arrive pas à passer à Linux, c'est vaâchement différent !!! )version SP3.
FreeMono.ttf est (maintenant que je viens de le faire) installé dans le répertoire Fonts de Windows. Mais ça ne change rien ! mais
""$font = '/usr/share/fonts/truetype/freefont/FreeMono.ttf"" sur windows, ça veut dire quelquechose ? je n'ai pas de répertoire 'share' !!!

coucou747 je vais essayer de voir avec error-reporting, je pense que c'est sur le wampserver !
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
18 mai 2009 à 18:30
met ton error_reporting a E_ALL et dit nous si l'erreur persiste
Utilisateur anonyme
18 mai 2009 à 18:01
salut jadu

sur kel systeme travailles tu(linux ou windows) ?

en suite tu dois modifier la ligne suivante:
$font = '/usr/share/fonts/truetype/freefont/FreeMono.ttf'; si tu es sur windows ou t'assurer que la police FreeMono.ttf est dans ta machine si tu es sur un systeme linux.

par curiosité kel est la version de ton wampp ?
alaindu_33 Messages postés 25 Date d'inscription dimanche 22 mars 2009 Statut Membre Dernière intervention 20 août 2009
18 mai 2009 à 17:51
merci pour la réponse
jadu Messages postés 217 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 16 août 2018
18 mai 2009 à 17:26
J'ai oublié de préciser que j'ai tout pris le code tel quel sans rien changer ( copier-coller paresseux - et avec PSPad j'ai enlevé les espaces et * lorsqu'ils étaient inutiles en début de ligne ) : c'est qu'il faut donner une valeur quelque part peut-être ?
jadu Messages postés 217 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 16 août 2018
18 mai 2009 à 17:24
Bonjour !
voilà ce que WAMP me répond :
L'image “http://localhost/formation/image-ecrit-rond.php” ne peut être affichée car elle contient des erreurs.

Mince alors ! pourtant j'ai vérifié, j'ai bien php_gd2 !

Puis-je être mis sur la voie ( pas celle de garage - merci )
alaindu_33 Messages postés 25 Date d'inscription dimanche 22 mars 2009 Statut Membre Dernière intervention 20 août 2009
29 déc. 2008 à 12:31
dommage et merci
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
29 déc. 2008 à 11:58
en meme temps, ici on fait de la programmation php, pas des pages html
alaindu_33 Messages postés 25 Date d'inscription dimanche 22 mars 2009 Statut Membre Dernière intervention 20 août 2009
29 déc. 2008 à 09:19
Bonjour dommage ne marche pas avec fronpage
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 nov. 2008 à 23:39
merci
Utilisateur anonyme
8 nov. 2008 à 19:10
moi aussi je ne lavais pas encore noté
et je crois qu'elle merite vraimment un 10 elle est top

a++
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
8 nov. 2008 à 19:02
Non, seuleument au SPAM.

Pour en revenir à la source, je l'avais déjà commenté mais je ne l'avais pas noté.

Donc voici le 10 que j'aurai dûe mettre il y a bien longtemps !

a++
Utilisateur anonyme
8 nov. 2008 à 18:59
Merci

pour linfo je crois aussi que je me suis exposé aussi au hacking je vais essayer de me proteger
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
8 nov. 2008 à 18:49
Au fait, maintenant que tu as mis ton adresse en dur ici, tu as toute les chances d'être harcelé par tout les robot spammeur d'internet.

Voila, a++
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 nov. 2008 à 18:00
non merci
Utilisateur anonyme
8 nov. 2008 à 17:52
Cool
sur yahoo messenger je suis marcelghislain2000@yahoo.fr .
pour un dialogue en privé
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 nov. 2008 à 17:31
je programmais en Qbasic il y a 10 ans.

aujourd'hui, je fais :
du php
du mysql
du java
du C
du ocaml
du lisp (mzscheme)
du javascript

a l'ocas, je touche aussi a quelques autres langages comme le C++, le tcl, le povray, le bash, j'ai fait deux trois trucs en perl, python, etc...
Utilisateur anonyme
8 nov. 2008 à 17:19
prologin ? qu'es-ce ?

Merci pour l'info su l'existance des librairies php .Je vais donc essayer de me documenter dessus .
Mais en attendant ffmpeg fonctionne .Je lai installé en local la semaine derniere mais je ne lai pas encore utilisé. Je sais aussi que pour lutiliser il faut avoir la main mise sur le serveur.

Sans vouloir etre un peu trop collant j'aimerais savoir tes autres langages de programmation.Du moins moi je suis un DUT en genie informatique et les langages academike avaient ete pascal et java. Donc cest a titre personnel que j'éssaye de developper en php.
jaimerais avoir un parain aussi experimenté que toi es-ce possible ? surtout pour heriter
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 nov. 2008 à 17:02
merci

je pratique beaucoup. mais je peux t'assurer que j'ai rien d'exceptionnel en algo... j'en ai vu a prologin me battre largement :)

si imagepng n'existe pas, alors c'est que tu n'as pas installe php-gd (la librairie gd pour php)

si tu veux gerer de l'audio ou de la video en php, c'est pas GD qu'il faudra utiliser. peut-etre ffmpeg fonctionnera t'il, j'en sais rien, je ne l'ai jamais utilise.

bon courage.
Utilisateur anonyme
8 nov. 2008 à 16:37
---> coucou 747

le probleme vient du fait que php.net donne des definitions a la volée je crois qu'elle est incomplete.
au fait imagepng() ou imagejpeg() sont inexistantes.
es-ce ke je peu avoir une documentation plus detaille ? pour pouvoir par exemple gerer de la video ou de l'audio ?

Merci d'avance

ps:coucou747 jai lu certaines de tes sources et je dois avouer que je n'ai jamais vu quelqu'un auusi fort en algoithme que toi. Coup de chapeau. comment fait-on pour etre aussi doué ?
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 nov. 2008 à 15:17
moi j'ai mis ca :

# header("Content-type: image/png");
# imagepng($im);

mais tu peux mettre :

# header("Content-type: image/jpeg");
# imagejpeg($im);

cherche sur php.net, tu verras les formats supportes
Utilisateur anonyme
8 nov. 2008 à 15:12
Merci ca ma aidé et jai utilisé arial.ttf
jai donc executé la fonction .par la suite jaimerais savoir s'il vous plait comment faire pour genere une image grace au php.Et s'il est possible de generer un autre format si oui les kels ?
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
8 nov. 2008 à 14:33
Salut,

Si je peus me permettre, sur windows, les polices sont stocké sur C:\Windows\Fonts

En espèrant avoir aider

a++
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 nov. 2008 à 14:26
salut

je ne sais pas ou sont stoquees les polices sous windows. tu peux rechercher les fichiers *.ttf sur ton disque dur, tu finiras bien par trouver.
Utilisateur anonyme
8 nov. 2008 à 14:03
bonjour coucou747

en fait jai un probleme avec cette souce.
le truc cest le fait que jutilise windows comme S E.
jaimerais savoir comment faire pour avoir FreeMono.ttf sur windows ou encore est il possible dexecuter ce code sans avoir a utiliser un font ? si oui comment le modifier ?
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 sept. 2008 à 15:05
je ne vois pas ce que tu ne comprends pas... c'est assez expressif comme fonction...
gigawatt Messages postés 23 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 17 septembre 2010
4 sept. 2008 à 14:56
Bonjour

Dommage qu'il n'y est pas de commentaires en face des lignes principales, pour les novices comme moi ce serait un atout supplémentaire pour comprendre le programme.
Merci d'avance si ceci peut être résolu.
Merci
A+
Gigawatt
cosmoswarezone1 Messages postés 10 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 29 août 2008
21 août 2008 à 01:22
super cette fonction !!!
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
18 août 2008 à 16:42
je prefere largement ecrire sq($x) que $x*$x, c'est moins verbeu.

sinon, ta remarque pour la longueur est exellente, j'en tiendrais compte pour une mise a jours.
Eregon Messages postés 17 Date d'inscription lundi 3 septembre 2007 Statut Membre Dernière intervention 26 octobre 2009
18 août 2008 à 16:08
Salut, bel exemple d'utilisation GD ;)

Quelques petits commentaires:
$phy le decalage: -90(ou 270) : départ d'en haut, +-180 de la gauche, 0 de la droite et 90 d'en bas.

Il y a déjà des fonctions de conversion d'angle : deg2rad et rad2deg
et pour le carré, c'est plus simple d'écrire directement $x*$x

Sinon, joli l'atan pour trouver l'angle, mais tu prends en compte la diagonale(d'un X en plus), or juste la largeur importe, vu que la hauteur est orientée dans la direction du rayon.
Donc moi je dirais plutôt:
$len = $lenX * 1.5 , Ce qui revient presque au même.
Le 1.5 pour recréer l'espacement entre les lettres, et qui pourrait être configurable ;)
Le problème reste que les lettres n'ont pas toutes la même largeur, mais ça ajouterait évidemment qqs lignes de code...(Sans cet espace entre les lettres, on voit bien plus l'erreur des largeusr variables des lettres)
Mais visiblement, c'est beaucoup plus simple et beau en gardant la même largeur :)
kiki2sirom Messages postés 153 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 23 décembre 2010
18 août 2008 à 13:54
bien le bonjour,
ok pour le côté simple, bien codé...
mais par contre en essayant d'écrire quelque chose comme "ça", je me retrouve avec du "ç"
et en remplaçant mon texte par un utf8_decode('montexte'), ça fonctionne...

Est-ce moi qui ait loupé un train ?
merci pour l'info

kiki
djmmix Messages postés 152 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 29 avril 2009
16 août 2008 à 11:31
ha un autre commentaire pour une bonne note de 10/10 :)
djmmix Messages postés 152 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 29 avril 2009
16 août 2008 à 11:30
salut super fonction :),personalisable rien a redire du bon boulot
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
15 août 2008 à 15:04
ca ne me derange pas du tout :)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 août 2008 à 10:38
Hello,

joli : c'est simple, bien codé et utile. Je vais l'inclure dans un de mes packages d'ailleurs, si ça ne te dérange pas :-)
tempusus Messages postés 358 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 9 octobre 2017 1
14 août 2008 à 17:13
ça c'est pas mal comme source, utile et bien documentée.
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 août 2008 à 14:39
Petites correction, excusez moi, mon clavier marche très mal...

Il fallait lire :

Fonction utile, ça change de certaines sources...

a++
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
14 août 2008 à 14:35
avec 11 lignes de commentaires et cet exemple, tu devrais pouvoir te debrouiller :)
durealex Messages postés 23 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 26 août 2008
14 août 2008 à 14:33
Cool comme fonction merci :)
Apres c'est comme au scrabble faut juste savoir ou la placée :D
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 août 2008 à 14:31
De rien,

Quand je vois de bonne source je le dit mais quand j'en vois des mauvaise je le dit aussi...

Par contre, pourquoi ne pas le faire en javascript ?

Je crois que tu connais le javascript vu le nombre post que tu as sur javascriptfr...

Donc je pense que ce ne serai pas une mauvaise idée de convertir la source en javascript(pas très difficile) et de la poster dans effet ou truc et astuce...

Encore une fois merci pour cette source, elle nous montre la vois a prendre pour plusieurs aures choses...

a++
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
14 août 2008 à 14:25
merci
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 août 2008 à 14:20
Salut,

Fontcion utile...

ça change de certine sources...

a++
Rejoignez-nous