我用OWC创建了一个图表,并在Image(服务器控件)中显示,代码如下,如果将本机作为服务器,可以显示图表,如果其他机子作为服务器,我的客户端登就不能显示图片了,图片在服务器是生成了的。
OWC11.ChartSpace objCSpace = new OWC11.ChartSpaceClass(); //在ChartSpace对象中添加图表,Add方法返回chart对象 
OWC11.ChChart objChart = objCSpace.Charts.Add(0); 指定图表的类型。类型由ChartChartTypeEnum枚举值得到 
objChart.Type = ChartChartTypeEnum.chChartTypeLine;//.chChartTypeColumnClustered; //指定图表是否需要图例 
//objChart.HasLegend = true; //设置Chart边框颜色
objChart.Border.Color = "blue";//给定标题 
objChart.HasTitle = true; 
objChart.Title.Caption= strStudentId+"同学成绩走势图"; 

//设置标题颜色、字体和大小
objChart.Title.Font.Name = "verdana";
//objChart.Title.Font.Bold = true;
objChart.Title.Font.Color = "black";
objChart.Title.Font.Size =10;//给定x,y轴的图示说明. 
objChart.Axes[0].HasTitle = true; 
objChart.Axes[0].Title.Caption = "作业ID"; //x
objChart.Axes[1].HasTitle = true; 
objChart.Axes[1].Title.Caption = "成绩"; //y//设置X,Y轴的标题颜色和字体大小
objChart.Axes[0].Title.Font.Color ="black";
objChart.Axes[1].Title.Font.Color ="black";objChart.Axes[0].Title.Font.Size = 9;
objChart.Axes[1].Title.Font.Size = 9;objChart.Axes[0].Title.Font.Name = "tahoma";
objChart.Axes[1].Title.Font.Name = "tahoma";

//添加一个 series (连续, 系列, 丛书, 级数) 
objChart.SeriesCollection.Add(0); 
//给定分类 
objChart.SeriesCollection[0].SetData (ChartDimensionsEnum.chDimCategories, 
+ (int)ChartSpecialDataSourcesEnum.chDataLiteral, strCategory); //给定值 
objChart.SeriesCollection[0].SetData 
(ChartDimensionsEnum.chDimValues, 
(int)ChartSpecialDataSourcesEnum.chDataLiteral, strValue);  //输出成GIF文件. 
string strGif = strStudentId+".gif";string strAbsolutePath = (Server.MapPath(".\\pic\\")) + strGif; 
objCSpace.ExportPicture(strAbsolutePath, "gif", 600, 350); //创建GIF文件的相对路径.  
string strRelativePath = "./pic/"+strGif;
ChartImage.ImageUrl=strAbsolutePath;

解决方案 »

  1.   

    两个地方需要注意:
    1. 服务器上面是否也安装了OWC
    2. 服务器上面是否建立了 "./pic/"这个目录
    不过,我觉得你上面这个目录的写法就不对阿 "./pic/" 有这种写法吗?应该是两点吧? "../pic/"
      

  2.   

    我曾经写过一个,写的是真实的物理地址:
     Dim strAbsolutePath As String = "C:\Images\" & Format(Date.Now, "yyyyMMddhhmmss") & ".gif" 
            myChart.ExportPicture(strAbsolutePath, "GIF", 600, 350) 
            Me.Image1.ImageUrl = strAbsolutePath 
      

  3.   

    在服务器端可以显示的,但是如果用其它机子做客户端访问,那么这台机子显示不出图来,现在我这急这个问题。。谁有办法咯,在客户端不能显示的路径“file:///d:/esi/bidman/6532584632.gif”
    有哪位高手知道是怎么回事吗?
      

  4.   

    应该是路径的问题。用 Server.MapPath(".") + "\\pic\\" + strGif 试试吧。