2016-07-27 176 views
1

我想通过邮件发送一个图像通过pChart 2.1.4库。 该库在我的wordpress插件中使用。用pChart渲染图像

我试过如下:

/* 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

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

的OP使用

<img src='$img_name'> 

那一定是

<img src="$img_name"> 

否则,将放在IMG SRC $ img_name,而不是$ img_name值; 另外,确保图像存在于该位置。