kniferpg 2017-03-10 07:45 采纳率: 50%
浏览 8873

php使用imagettftext将文字打印在图片上不显示

  ob_clean();
header("content-type:image/png");
//载入图片路径
$bg = imagecreatefrompng('backgroud.png');
//获取图片大小
$img_info = getimagesize('backgroud.png');
$img_w = $img_info[0];
$img_h = $img_info[1];

$im = imagecreatetruecolor($img_w, $img_h);

imagecopy($im,$bg,0,0,0,0,$img_w,$img_h);
imagedestroy($bg);
$black = imagecolorallocate($im, 0, 0, 0);
$text = '你阿妈但减价益你阿爸!';
$font = 'msyh.ttf';



imagettftext($im, 74, 0, 485, 285, $black, $font, $text);



imagejpeg($im);
imagedestroy($im);

可以显示图片,但是图片上没有我要求的内容。
使用imagestring可以正常显示英文。

再测试

 ob_clean();
$im = imagecreatetruecolor(400, 400); //创建400 30像素大小的画布

$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);

imagefilledrectangle($im, 0, 0, 400, 400, $white); //输出一个使用白色填充的矩形作为背景

//如果有中文输出,需要将其转码,转换为UTF-8的字符串才可以直接传递
//$text = iconv("GB2312", "UTF-8", "回忆经典");
$text = "5555555555555555555555";

//设定字体,将系统中与simsun.ttc对应的字体复制到当前目录下
$font = 'msyh.ttf';

imagettftext($im, 20, 0, 12, 21, $grey, $font, $text); //输出一个灰色的字符串作为阴影
imagettftext($im, 20, 0, 10, 20, $black, $font, $text); //在阴影上输出一个黑色的字符串

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

imagedestroy($im);

文字依然没出现

大神们,求救

  • 写回答

5条回答 默认 最新

  • kniferpg 2017-03-10 08:24
    关注

    问题找到了,主要是字体文件,不能为:'**.ttf'建一个文件夹就解决了

    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧