title->SetFont(FF_SIMSUN,FS_BOLD,14);但是加上后就报错图像因其本身有错无法显示如果去掉这句,或者将中文改成英文就没有问题查了网上说要加一句ob_clean();清除之前的输出"/> title->SetFont(FF_SIMSUN,FS_BOLD,14);但是加上后就报错图像因其本身有错无法显示如果去掉这句,或者将中文改成英文就没有问题查了网上说要加一句ob_clean();清除之前的输出">

ホームページ  >  記事  >  バックエンド開発  >  jpgraph中出错" 图像因其本身有错无法显示"

jpgraph中出错" 图像因其本身有错无法显示"

WBOY
WBOYオリジナル
2016-06-13 11:55:091053ブラウズ

jpgraph中报错" 图像因其本身有错无法显示"
因为中文乱码的问题,我加了一行设置中文字体的语句$graph->title->SetFont(FF_SIMSUN,FS_BOLD,14);
但是加上后就报错图像因其本身有错无法显示
如果去掉这句,或者将中文改成英文就没有问题
查了网上说要加一句ob_clean();清除之前的输出,但是不知道加在哪里?求前辈指点。

下面是代码

<br /><?php <br />require_once ('jpgraph/jpgraph.php');<br />require_once ('jpgraph/jpgraph_bar.php');<br /><br />$datay1=array(13,8,19,7,17,6);<br />$datay2=array(4,5,2,7,5,25);<br /><br />// Create the graph.<br />$graph = new Graph(350,250);<br />$graph->SetScale('textlin');<br />$graph->SetMarginColor('silver');<br /><br />// Setup title<br />$graph->title->Set('支持布什的人数统计(万)');<br />$graph->title->SetFont(FF_SIMSUN,FS_BOLD,14);<br /><br />// Create the first bar<br />$bplot = new BarPlot($datay1);<br />$bplot->SetFillGradient('AntiqueWhite2','AntiqueWhite4:0.8',GRAD_VERT);<br />$bplot->SetColor('darkred');<br /><br />// Create the second bar<br />$bplot2 = new BarPlot($datay2);<br />$bplot2->SetFillGradient('olivedrab1','olivedrab4',GRAD_VERT);<br />$bplot2->SetColor('darkgreen');<br /><br />// And join them in an accumulated bar<br />$accbplot = new AccBarPlot(array($bplot,$bplot2));<br />$graph->Add($accbplot);<br /><br />ob_clean();<br />$graph->Stroke();<br /><br />?><br /><br />

------解决方案--------------------
将中文改成英文就没有问题
显然你的中文字库设置有误
------解决方案--------------------
1.字体是否存在,名字是否相同->FF_SIMSUN 是个常量,所以要检视其具体值和你的系统是否相符
2.编码

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。