Ecrire un texte en cercle sur une image

Soyez le premier à donner votre avis sur cette source.

Snippet vu 17 767 fois - Téléchargée 16 fois

Contenu du snippet

suite a une demande sur le forum, je vous poste cette fonction
http://www.phpcs.com/infomsg_ECRIRE-ROND_1187165.aspx#3

elle permet d'ecrire un texte en cercle sur une image.

Source / Exemple :


<?php

function sq($x){ return $x * $x; }
function convrad (){ return pi() / 180; }
function convdeg (){ return 180 / pi(); }
/**

  • @param $im l'image
  • @param $color la couleur
  • @param $font la police
  • @param $size la taille
  • @param $r le rayon du cercle
  • @param $phrase la phrase a afficher
  • @param $cx le centre du cercle (abscisse)
  • @param $cy le centre du cercle (ordonnee)
  • @param $phy le decalage
  • /
function circleWrite($im, $color, $font, $size, $r, $phrase, $cx, $cy, $phy = 180){ // combien de degres entre deux lettres ? $tab = imagettfbbox($size , 0 , $font , 'X' ); $lenX = $tab[4] - $tab[0]; $lenY = $tab[5] - $tab[1]; $len = sqrt(sq($lenX) + sq($lenY)); $step = atan($len / $r) * convdeg(); $nbrLettres = strlen($phrase); for ($i=0;$i<$nbrLettres;$i++){ $angle = $phy + $i * $step; $angleRAD = $angle * convrad(); $x = $cx + cos($angleRAD)*$r; $y = $cy + sin($angleRAD)*$r; imagettftext($im, $size, 270 - $angle , $x, $y, $color, $font, $phrase[$i]); } } $dx = 200; $dy = 200; $im = imagecreate($dx,$dy); $white = imagecolorallocate($im, 255,255,255); $black = imagecolorallocate($im, 0,0,0); $font = '/usr/share/fonts/truetype/freefont/FreeMono.ttf'; circleWrite($im, $black, $font, 15, min($dx / 3, $dy / 3), 'salut c\'est moi', $dx / 2, $dy / 2); header("Content-type: image/png"); imagepng($im); imagedestroy($im); ?>

A voir également

Ajouter un commentaire

Commentaires

nicomilville
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
23 -
Salut,

Fontcion utile...

ça change de certine sources...

a++
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26 -
merci
nicomilville
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
23 -
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++
durealex
Messages postés
23
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
26 août 2008
-
Cool comme fonction merci :)
Apres c'est comme au scrabble faut juste savoir ou la placée :D
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26 -
avec 11 lignes de commentaires et cet exemple, tu devrais pouvoir te debrouiller :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.