imagick php无法正确打印印地文utf8字符

时间:2018-09-01 07:38:21

标签: imagick

我的用户非常想将我的mysql db上的一些名字打印到一张图片上

    $data = Common::getCandidatesForIdCard();
    mkdir($data[0]['ulbRegion'], 0777, true);
    for($i=0; $i<1; $i++) {
        $image = new Imagick("image/img.jpeg");
        $draw = new ImagickDraw();

        /* Font properties */
        $draw->setFont('fonts/MANGAL.TTF');
        $draw->setFontSize(30);
        $draw->setTextEncoding('UTF-8');

        /* Create text */
        $address = Common::getFormattedAddress($data[$i]['permanentAddress']);
        $line1 = $address[0]." ".$address[1]." ".$address[2]." ".$address[3]." ".$address[4];
        $line2 = $address[5]." ".$address[6]." ".$address[7]." ".$address[8]." ".$address[9];
        $image->annotateImage($draw, 320, 740, 0, $data[$i]['name']);
        $image->annotateImage($draw, 320, 840, 0, $data[$i]['guardian']);
        $image->annotateImage($draw, 320, 940, 0, $line1);
        $image->annotateImage($draw, 60, 1040, 0, $line2);
        $image->annotateImage($draw, 320, 1140, 0, $data[$i]['ulbRegion']);

        /* Give image a format */
        $image->setImageFormat('png');
        $image->minifyImage();

        header('Content-type: image/png');
        file_put_contents($data[0]['ulbRegion']."/imagick_ouput_".$i.".png" , $image);
    }

但是问题是图像上的文本无法正确打印....

即打印अमित

,而不是 अमति

0 个答案:

没有答案