web开发N例-案例2:PHP绘制图片、绘制中文

web开发N例
案例2:PHP绘制图片、绘制中文
case2.php:
<span style="font-family:Arial;"><!DOCTYPE html>
<html>
<head>
    <!-- 请将文档保存为UTF-8编码,否则中文会乱码 -->
    <meta charset="UTF-8">
    <title>案例2</title><!-- PHP绘制图片、绘制中文 -->
</head>

<body>

<?php
$im  = @ imagecreate ( 300 ,  200 ) or die( "无法初始化GD2引擎,请打开php.ini中gd2插件" );
$background_color  =  imagecolorallocate ( $im ,  0 ,  0 ,  255 );//初次调用imagecolorallocate函数会填充该颜色的背景
$text_color  =  imagecolorallocate ( $im ,  233 ,  14 ,  91 );
//绘制普通英文
//注意:第三、四个参数x、y指绘制文字的左上角坐标
imagestring ( $im ,  5 ,  5 ,  5 ,   "img in same page" ,  $text_color );
imagepng ( $im ,"test.png");//将文件存到本地
imagedestroy ( $im );//销毁图片资源
?>
<img alt="" src="test.png"><!-- 显示来自同一页面中的图片 -->
<img alt="" src="case2-img.php"><!-- 显示来自另一个php文件的图片 -->

</body></span><span style="font-family:Times New Roman;">

</html></span>


case2-img.php:
<span style="font-family:Arial;"><?php
header ( "Content-type: image/png" );//发送一个http头,告诉浏览器这是一个png的图片资源
$im  = @ imagecreate ( 300 ,  200 )
or die( "无法初始化GD2引擎,请打开php.ini中gd2插件" );

//初次调用imagecolorallocate函数会填充该颜色的背景
$background_color  =  imagecolorallocate ( $im ,  0 ,  0 ,  255 );
$text_color  =  imagecolorallocate ( $im ,  233 ,  14 ,  91 );

//绘制普通英文
//注意:第三、四个参数x、y指绘制文字的左上角坐标
imagestring ( $im ,  5 ,  0 ,  0 ,   "img in another page" ,  $text_color );


/*绘制中文:需要注意以下两点
 *Note: 此函数需要 GD 2.0.1 或更高版本(推荐 2.0.28 及更高版本)。
 *Note: 此函数仅在 PHP 编译时加入 freetype 支持时有效(--with-freetype-dir=DIR )
*/

//引入方正大黑简体字体文件
$font_file="./FZDHTJW.TTF";
//注意:第三、四个参数x、y指绘制文字的左下角坐标
$str='中文';
// 如果创建网页时,使用的是utf-8字符集,则不需要使用iconv()函数,否则需要转换为UTF-8
//$str=iconv("gb2312","utf-8",$str);

imagefttext($im,13,0,200,100,$text_color,$font_file ,$str);

imagepng ( $im );//输出图片至浏览器
imagedestroy ( $im );//销毁图片资源</span>

注释够详细了,不用再说什么了吧。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值