Sto cercando di aggiungere del text su un object Imagick.
Tuttavia io uso la function setTextEncoding (), non funziona ancora.
....... $draw = new ImagickDraw(); $draw->setTextEncoding('utf-8'); $draw->setFont($fpath.'/process/ARIAL.TTF'); $draw->setFontSize(80); $draw->setFillColor("#ffffff"); /*** annotate the text on the image ***/ $imageOrg->annotateImage($draw, 60, 100, 0, "onur küçükkeçe"); ........
e come risultato ottengo,
onur küçükkeçe
Qualche idea sul perché non funziona?
Grazie in anticipo.
AGGIORNARE
se imposto una variabile $ text su qualcosa di simile a chr (252), ottengo un risultato corretto
$text=chr(252); $imageOrg->annotateImage($draw, 60, 100, 0, $text);
di conseguenza ottengo
ü
AGGIORNAMENTO II
Finalmente ho trovato che cosa causa questo.
Il problema si verifica perché il set di caratteri del documento non è definito, ma se si imposta un set di caratteri per lo script, imagick non funziona perché il tipo di documento deve essere impostato su image / png.
Ma non so come posso aggiustarlo.
Ok. Ho trovato la soluzione.
la function php utf8_decode () risolve il problema
....... $draw = new ImagickDraw(); $draw->setTextEncoding('utf-8'); $draw->setFont($fpath.'/process/ARIAL.TTF'); $draw->setFontSize(80); $draw->setFillColor("#ffffff"); /*** annotate the text on the image ***/ $imageOrg->annotateImage($draw, 60, 100, 0, utf8_decode("onur küçükkeçe")); ........