首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于用OWC11生成图片的有关问题

2012-03-26 
关于用OWC11生成图片的问题!用OWC11生成的图片如何直接传到http页面上?部分代码如下:OWC11.ChartSpaceClas

关于用OWC11生成图片的问题!
用OWC11生成的图片如何直接传到http页面上?
部分代码如下:
OWC11.ChartSpaceClass   GifChart   =   new   OWC11.ChartSpaceClass()   ;
GifChart   =   CreateGifImage(i)   ;   //   CreateGifImage是生成图片的函数   (略过)
string   GifPath     =   "d:\\text_ "+i.ToString().Trim()+ ".gif "   ;
GifChart.ExportPicture(GifPath, "GIF ",600,400)   ;     //这里应该是生成磁盘文件
然后把图片路径取出来,供客户端来显示。

现在我想把生成的图形直接发送到客户端去,不知道有什么好的方法,希望哪位高手帮忙!!!

在线等人拿分,截贴!     :)

[解决办法]
owc不支持这么做。
[解决办法]
如果由于安全的问题,先导出到文件中,然后读入内存,同时删除文件
[解决办法]
可以 利用这个函数

private void FileDownload()
{
String FullFileName = Server.MapPath( "文件路径 ");
FileInfo DownloadFile = new FileInfo(FullFileName);
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.ContentType = "application/octet-stream ";
Response.AppendHeader( "Content-Disposition ", "attachment;filename= " + HttpUtility.UrlEncode(DownloadFile.FullName, System.Text.Encoding.UTF8));
Response.AppendHeader( "Content-Length ", DownloadFile.Length.ToString());
Response.WriteFile(DownloadFile.FullName);
Response.Flush();
Response.End();
}
[解决办法]
http://blog.csdn.net/hertcloud/archive/2007/03/22/1537371.aspx
[解决办法]
妈呀,第一次看到这么牛的回贴。加起来……
十八个星!真羡慕你LZ。
我想不用我回答了吧
[解决办法]
Sub OWCtubiao()
'引用owc组件,imports owc11
'创建ChartSpace对象来放置图表
Dim objCSpace As New ChartSpaceClass
'在ChartSpace对象中添加图表,Add方法返回chart对象
Dim objChart As ChChart = objCSpace.Charts.Add(0)
'指定图表的类型。类型由OWC.ChartChartTypeEnum枚举值得到
objChart.Type = ChartChartTypeEnum.chChartTypeColumnClustered

'指定图表是否需要图例
objChart.HasLegend = True

'给定标题
objChart.HasTitle = True
objChart.Title.Caption = "1-6说数据分布图 "

'给定x,y轴的图示说明
objChart.Axes(0).HasTitle = True
objChart.Axes(0).Title.Caption = "Y 轴 : 数量 "
objChart.Axes(1).HasTitle = True
objChart.Axes(1).Title.Caption = "X 轴: 月份 "

'计算数据
'*categories 和 values 可以用tab分割的字符串来表示*
Dim strSeriesName As String = "图例 1 "
Dim strCategory As String = "1 " + ControlChars.Tab + "2 " + ControlChars.Tab _
+ "3 " + ControlChars.Tab + "4 " + ControlChars.Tab + "5 " + ControlChars.Tab _
+ "6 " + ControlChars.Tab
Dim strValue As String = "9 " + ControlChars.Tab + "8 " + ControlChars.Tab _
+ "4 " + ControlChars.Tab + "10 " + ControlChars.Tab + "12 " + ControlChars.Tab _
+ "6 " + ControlChars.Tab

'添加一个series
objChart.SeriesCollection.Add(0)

'给定series的名字
objChart.SeriesCollection(0).SetData(ChartDimensionsEnum.chDimSeriesNames, ChartSpecialDataSourcesEnum.chDataLiteral, strSeriesName)



'给定分类
objChart.SeriesCollection(0).SetData(ChartDimensionsEnum.chDimCategories, ChartSpecialDataSourcesEnum.chDataLiteral, strCategory)

'给定值
objChart.SeriesCollection(0).SetData(ChartDimensionsEnum.chDimValues, ChartSpecialDataSourcesEnum.chDataLiteral, strValue)
'输出成GIF文件.
Dim strAbsolutePath As String = (Server.MapPath( ". ")) + "\owctest.gif "
objCSpace.ExportPicture(strAbsolutePath, "GIF ", 600, 350)

'创建GIF文件的相对路径.
Dim strRelativePath As String = "owctest.gif "
'把图片添加到placeholder.
Dim strImageTag As String = " <IMG SRC= ' " & strRelativePath & " '> "

PlaceHolder1.Controls.Add(New LiteralControl(strImageTag))
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'OWCtubiao()
'Dim xlsheet As New SpreadsheetClass
'xlsheet.Cells(2, 2) = "测试!! "

'Dim strAbsolutePath As String = (Server.MapPath( ". ")) + "\owctest.xls "
'xlsheet.Export(strAbsolutePath, SheetExportActionEnum.ssExportActionOpenInExcel, SheetExportFormat.ssExportXMLSpreadsheet)
'PlaceHolder1.Controls.Add(New LiteralControl( " <iframe src=owctest.htm frameborder=0 width=650 height=450> </iframe> "))
End Sub
Protected Function test_js() As String
Return "objSheet1.cells(2, 2).Value = '你 ' "
End Function

[解决办法]
楼主的意思可以明白,但有没有考虑过效率的问题。你这样的话,在并发性方面的能力会差很多
[解决办法]
在Web界面上放个Image控件

protected System.Web.UI.WebControls.Image imgChart;
...
OWC11.ChartSpaceClass GifChart = new OWC11.ChartSpaceClass() ;
GifChart = CreateGifImage(i) ; // CreateGifImage是生成图片的函数 (略过)
string GifPath = "d:\\text_ "+i.ToString().Trim()+ ".gif " ;
GifChart.ExportPicture(GifPath, "GIF ",600,400) ;
...
if ( File.Exists(GifPath) )
imgChart.ImageUrl = GifPath;
[解决办法]
http://www.wave12.com
wsChart4.6(DLL)

热点排行