使用pChart渲染图像

时间:2016-07-27 20:11:56

标签: php pchart

我正在尝试通过邮件通过pChart 2.1.4库发送图像。 该库在我的wordpress插件中使用。

我尝试了以下内容:

/* Create and populate the pData object */ 
$MyData = new pData();   
for($i=0;$i<=30;$i++) { $MyData->addPoints(rand(1,15),"Probe 1"); } 
$MyData->setSerieTicks("Probe 2",4); 
$MyData->setAxisName(0,"Temperatures"); 

/* Create the pChart object */ 
$myPicture = new pImage(700,230,$MyData); 

/* Turn of Antialiasing */ 
$myPicture->Antialias = FALSE; 

/* Add a border to the picture */ 
$myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0)); 

/* Define the chart area */ 
$myPicture->setGraphArea(60,40,650,200); 

/* Draw the scale */ 
$scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200, "DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE); 
$myPicture->drawScale($scaleSettings); 

/* Write the chart legend */ 
$myPicture->drawLegend(600,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL)); 

/* Turn on Antialiasing */ 
$myPicture->Antialias = TRUE; 

/* Enable shadow computing */ 
$myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10)); 

/* Draw the area chart */ 
$Threshold = ""; 
$Threshold[] = array("Min"=>0,"Max"=>5,"R"=>207,"G"=>240,"B"=>20,"Alpha"=>70); 
$Threshold[] = array("Min"=>5,"Max"=>10,"R"=>240,"G"=>232,"B"=>20,"Alpha"=>70); 
$Threshold[] = array("Min"=>10,"Max"=>20,"R"=>240,"G"=>191,"B"=>20,"Alpha"=>70); 
$myPicture->drawAreaChart(array("Threshold"=>$Threshold)); 

/* Render the picture (choose the best way) */ 
$today = date("Ymd");
$curr_user = wp_get_current_user();
$img_name = $today . $curr_user->user_login . ".png";
$myPicture->render($img_name); 

//#############################################################

    //create mail
    $message.=<<<HTML
        <tr valign="top" align="center">

            <img src='$img_name'>

        </tr>
        <tr>
            <td width="25%" style="width:25%;" valign="top" align="center">
HTML;

图像呈现如下:

<img src="https://ci6.googleusercontent.com/proxy/3y_3IDPObyXLCMINb1aKlZf3gh3yI9X3Co3OVv08MohNWIgv4eTR3bWw3KkcLQ=s0-d-e1-ft#http://20160727admin.png" class="CToWUd">

但是,在邮件中看到以下显示:

enter image description here

有什么建议我做错了吗?

图像保存在哪里?

感谢您的回复!

1 个答案:

答案 0 :(得分:1)

我知道这有点晚了,但它会帮助别人,犯同样的错误。

OP正在使用

 <img src='$img_name'>

那一定是

<img src="$img_name">

否则,它会将$ img_name放在img src中,而不是$ img_name的值; 另外,请确保该位置存在图像。