关于jpGraph的中文显示。。。

 更新时间:2016年11月25日 15:18  点击:1382
前两天看了这里的一篇帖。。。有JPGRAPH这个东东,觉得它真的非常实用,真的帮我们在图形统计方面省了不少功夫,于是一直在试用,后来看到:
Note: This information is only given here for very advanced users. No free support will ge given in the case you run into difficulties trying to add new fonts. At the moment adding new fonts require code modifications as outlined below.
这里时,我那热情没了一大半。。。。这像我这样的菜鸟就只只能用simsun.ttf吗?后来我试着把很多的中文字体的名字改为simsun.ttf,发现大部分的中文都可以正常显示。。。(可能是全部中文),不敢独享,现把使用方法帖出来跟大家一起分享(我想也许已经有很多高手知道方法,那我就在这里献丑了。。).
在使用有文字显示的类时,必须事先使用SetFont方法来设置字体其有三个参数:字体名,字型,大小。目前在中文方面,JPGraph只支持simsun字体,如果要使用那么就要用以下方法添加:
先在jpgraph.php里用:DEFINE ("TTF_DIR","/usr/local/fonts/ttf/");定义好字体的路径(以后就可以把字体放到这里了)
然后在jpgraph.php里找到这行注释“ // Chinese font ”
在其下面用像这样的方法定义:define("FF_SIMFANG",9);(其中为了容易理解,其格式为:使用“FF_”开头加字体名,“9“为该常量的值,只要不和他原来的值相同,哪个数值都没问题的,只要不太大)
现在进行影射:
找到这个注释"// CONSTRUCTOR"(到这里,聪明的你一定知道怎么回事了),在数组里加入类似:
FF_SIMFANG=>array(FS_NORMAL=>'simfang',FS_BOLD=>',FS_ITALIC=>',FS_BOLDITALIC=>'),的项,该数组是有四个项,第一个为标准字体,第二个为粗体,第三个为斜体,第四个是粗斜体。每一项对应一个字体文件,他们的值就是去了扩展名的字体文件名,没有的话就不用填,除了标准以外。
来到这里,一般的英文字体的添加已经完成,但中文就还是被限制了,关键在以下地方:
找到LanguageConv类,即查找“class LanguageConv”
在函数Convert()里“elseif( $aFF === FF_SIMSUN )”这个地方用或(“||”)添加你之前定义的字体名,如”$aFF===FF_SIMFANG“
好,现在你试试,大功告成!!



1.配置php.ini,修改session.save_path
如:session.save_path = d:/developer/php/temp 或 /tmp
2.程序
1.php
<?
session_start();
$var1 = "test";
session_register("var1");
?>
2.php
<?
session_start();
echo $var1;
?>
首先运行1.php,然后运行2.php,页面应该出现test

错误提示:Cannot send session cookie - headers already sent by ...
出现该错误是页面中session_start();语句前存在输出语句
如下例:
<html>
<?
session_start();
$var1 = "test";
session_register("var1");
?>
<body>
</body>
</html>
将<html>放到后面即可
修改php.ini
upload_tmp_dir=d:/temp 或 /tmp
upload.php
====================================
<html>
<head>
<title>PHP Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=??????">
</head>
<body>
<?
if ($upload){
$real_path = $userfile_name;
if (file_exists($real_path)){
unlink($real_path);
}
if (!@copy($userfile,$real_path))
$upload_flag = false;
else
$upload_flag = true;
}
?>
<form name="frmUpload" action="upload.php" enctype="multipart/form-data" method="post">
<table border=0 cellspacing=0 cellpadding=4>
<tr><td>
<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
<td>
<input type="file" name="userfile" size="40">
<input type="submit" name="upload" value=" 上载 ">
</td></tr>
</table>
</form>
</body>
</html>

先加载模块extension=php_zlib.dll
PHP代码:--------------------------------------------------------------------------------
<?php
$x="hello world";
$x=gzcompress($x) ; //压缩
echo $x ;
echo "<br>";
echo gzuncompress($x); //解压
?>
--------------------------------------------------------------------------------

<script language="JavaScript">
//构造函数
function InsterCell(tableId,content,place){
this.mTableId=tableId;//table的标识
this.mInsContent=content;//inster的内容
this.mInsPlace=place;//inster的位置
this.cInsCell=InsCell;
this.cClearCell=ClearCell;
}
//插入
function InsCell(){
str=eval(this.mTableId+".cells["+this.mInsPlace+"]");//这个这样写也不行!
str.innerHTML='<table cellspacing="0" cellpadding="0" border="0" ><tr>';
this.mTableId.cells[this.mInsPlace].innerHTML=this.mInsContent;
this.mTableId.cells[this.mInsPlace].innerHTML='</tr></table>';
this.mInsPlace++;
}
//清楚
function ClearCell(){
for(i=0;i<this.mTableId.cells.length/2-1;i++){
this.mTableId.cells[2*i+1].innerHTML="";
}
}
str='<TD>交行原余额</TD>';
str+='<TD><input type="text" name="earning"></TD>';
str+='<TD><input type="text" name="payout"></TD>';
str+='<TD><input type="text" name="cashOnHand"> </TD>';
str+='<TD><input type="text" name="cashOnHandRemark"></TD>';
var ins=new InsterCell("t1","str",1);
ins.cInsCell();
</script>
代码:--------------------------------------------------------------------------------
<html>
<head>
<title>发货单</title>
</head>
<body bgcolor="#F2FDE8" text="000000" link="000000" vlink="000000" alink="000000">
<SCRIPT language="javascript">
function tbladdrow()
{
var i=lines.rows.length ;
var row = Table1.insertRow(Table1.rows.length);
var col = row.insertCell(0);
col.innerHTML = "<INPUT id=line["+i+"][Commcd] name=line["+i+"][Commcd]>";
以下代码本人调试全部通过。运行authpage.php。
<?
/*
* Filename: authpage.php
*/
srand((double)microtime()*1000000);
//验证用户输入是否和验证码一致
if(isset($_POST['authinput']))
{
if(strcmp($_POST['authnum'],$_POST['authinput'])==0)
echo "验证成功!";
else
echo "验证失败!";
}
//生成新的四位整数验证码
while(($authnum=rand()%10000)<1000);
?>
<form action=authpage.php method=post>
<table>
请输入验证码:<input type=text name=authinput style="width: 80px"><br>
<input type=submit name="验证" value="提交验证码">
<input type=hidden name=authnum value=<? echo $authnum; ?>>
<img src=authimg.php?authnum=<? echo $authnum; ?>>
</table>
</form>
-------------------------------------------------------------------------------------------------------------
<?
/*
* Filename: authimg.php
*/
//生成验证码图片
Header("Content-type: image/PNG");
srand((double)microtime()*1000000);
$im = imagecreate(58,28);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
$gray = ImageColorAllocate($im, 200,200,200);
imagefill($im,68,30,$gray);
//将四位整数验证码绘入图片
imagestring($im, 5, 10, 8, $HTTP_GET_VARS['authnum'], $white);
for($i=0;$i<50;$i++) //加入干扰象素
{
imagesetpixel($im, rand()%70 , rand()%30 , $gray);
}
ImagePNG($im);
ImageDestroy($im);
[!--infotagslink--]

相关文章

  • js URLdecode()与urlencode方法支持中文解码

    下面来介绍在js中来利用urlencode对中文编码与接受到数据后利用URLdecode()对编码进行解码,有需要学习的机友可参考参考。 代码如下 复制代码 ...2016-09-20
  • 关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)

    最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅。首先:用show variables like “%colla%”;show varables like “%char%”;这两条...2015-11-24
  • C#读取中文文件出现乱码的解决方法

    这篇文章主要介绍了C#读取中文文件出现乱码的解决方法,涉及C#中文编码的操作技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • Mysql在debian系统中不能插入中文的终极解决方案

    在debian环境下,彻底解决mysql无法插入和显示中文的问题Linux下Mysql插入中文显示乱码解决方案mysql -uroot -p 回车输入密码进入mysql查看状态如下:默认的是客户端和服务器都用了latin1,所以会乱码。解决方案:mysql>use...2013-10-04
  • linux mint 下mysql中文支持问题

    一.mysql默认不支持中文,它的server和db默认是latin1编码.所以我们要将其改变为utf-8编码,因为utf-8包含了地球上大部分语言的二进制编码 1.关闭mysql服务 sudo /etc/init.d/mysql stop 2.修改mysql配置文件 mysql配...2015-10-21
  • Windows服务器MySQL中文乱码的解决方法

    我们自己鼓捣mysql时,总免不了会遇到这个问题:插入中文字符出现乱码,虽然这是运维先给配好的环境,但是在自己机子上玩的时候咧,总得知道个一二吧,不然以后如何优雅的吹牛B。...2015-03-15
  • php怎么用拼音 简单的php中文转拼音的实现代码

    小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
  • jQuery实现广告显示和隐藏动画

    这篇文章主要为大家详细介绍了jQuery实现广告显示和隐藏动画,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-07-05
  • 基于JavaScript实现表单密码的隐藏和显示出来

    为了网站的安全性,很多朋友都把密码设的比较复杂,但是如何密码不能明显示,不知道输的是对是错,为了安全起见可以把密码显示的,那么基于js代码如何实现的呢?下面通过本文给大家介绍JavaScript实现表单密码的隐藏和显示,需要的朋友参考下...2016-03-03
  • C#中动态显示当前系统时间的实例方法

    想在网页中动态地显示当前系统的时间,找了好多,不过都是一些停在那里不动的。。。不过皇天不负有心人,终于让我找到了...2020-06-25
  • Java连接数据库oracle中文乱码解决方案

    这篇文章主要介绍了Java连接数据库oracle中文乱码解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-16
  • C#实现动态显示及动态移除图片方法

    这篇文章主要介绍了C#实现动态显示及动态移除图片方法,对于C#的初学者了解图像操作有一定的帮助,需要的朋友可以参考下...2020-06-25
  • 解决druid监控页面SQL不显示的问题

    这篇文章主要介绍了解决druid监控页面SQL不显示的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-19
  • FlashFXP连接站点中文显示乱码解决办法

    FlashFXP是一款常用的服务器客户连接软件了,我们可以通过FlashFXP来上传或下载文件,但有一些朋友使用FlashFXP时碰到中文目录或文件名乱码问题,那么要如何来解决呢?具体就...2016-10-10
  • php中把unicode编码转化为中文

    小编在网上看到最多的就是汉字转换unicode编码了,今天我们看到一个反过来的操作就是把unicode转换成中文了,下面一起来看看 这两天帮别人开发微信平台好友板块,存...2016-11-25
  • javascript点击按钮实现隐藏显示切换效果

    这篇文章主要介绍了javascript点击按钮实现隐藏显示切换效果,以一个完整的实例为大家分析了js点击按钮实现隐藏显示切换的功能,感兴趣的小伙伴们可以参考一下...2016-02-05
  • php 判断是否是中文/英文/数字示例代码

    复制代码 代码如下: $str='asb天水市12'; if (preg_match("/^[/x7f-/xff]+$/", $str)){ echo '全部是汉字'; }else { echo '不全是汉字'; } /** PHP自带的判断是否是中文, eregi('[^/x00-/x7F]', $str ) //中文 ereg...2013-10-04
  • PyQt5实现多张图片显示并滚动

    最近要做个网页图片批量下载工具,然后需要一个页面显示网页上的所有图片供用户勾选,再根据勾选的内容来下载指定图片,其中就涉及到要到同时显示多张图片,本文就来介绍一下...2021-06-11
  • R语言-在一张图上显示多条线的实现

    这篇文章主要介绍了R语言-在一张图上显示多条线的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • C#实现让窗体永远在窗体最前面显示的实例

    这篇文章主要介绍了C#实现让窗体永远在窗体最前面显示,功能非常实用,需要的朋友可以参考下...2020-06-25