Tout d'abord, préparer l'image qui va recevoir le texte
$image=new Imagick();
$image->newImage(410, 200, new ImagickPixel('transparent'));
Préparer les paramètres d'écriture du texte:
$draw=new ImagickDraw();
$draw->setFont(dirname(__FILE__)."/path/to/my/font.ttf");
$draw->setFontSize( 30 );
$draw->setFillColor("#e71760");
Choisir l'alignement:
$draw->setGravity ( imagick::GRAVITY_NORTHEAST ); //or GRAVITY_CENTER or GRAVITY_NORTHWEST
Procéder à l'insertion du texte:
$image->annotateImage($draw, 0, 0, 0, wordwrap("Mon texte a insérer sur plusieurs lignes",27,"\n"));
Note importante: la fonction annotateImage ne va pas fait les sauts à la ligne adéquats en fonction de la largeur de l'image, c'est pourquoi il est nécessaire d'utiliser la fonction PHP wordwrap qui va insérer les sauts de ligne en comptant des lignes de 27 caractères.
Le choix de 27 caractères a été fait empiriquement, il correspond à la largeur d'une ligne de la police utilisée à la taille choisie (setFontSize de 30).
Enfin, raboter l'image:
$image->trimImage(0);
Et voilà!!!