C# 如何在ASP.Net中将FusionChart导出到图像
我们正在使用免费版本的fusion图表,希望知道是否有一种方法可以将生成的图表导出到图像,而不使用任何第三方组件。我们正在使用ASP.Net生成图表C# 如何在ASP.Net中将FusionChart导出到图像,c#,asp.net,export,fusioncharts,save-as,C#,Asp.net,Export,Fusioncharts,Save As,我们正在使用免费版本的fusion图表,希望知道是否有一种方法可以将生成的图表导出到图像,而不使用任何第三方组件。我们正在使用ASP.Net生成图表 屏幕截图 许可证 当然,还有免费的Asp.net图表控件()。'这是一个如何使用这些工具导出的示例 屏幕截图 许可证 当然,还有免费的Asp.net图表控件()。'这是如何使用这些工具导出的示例。解决方案 在对这个主题进行研究之后,我找到了一个有用的解决方案 为此,我们需要从Bytecout获得一个免费软件来将swf转换为图像。这可以从这个网站下载
当然,还有免费的Asp.net图表控件()。'这是如何使用这些工具导出的示例。解决方案 在对这个主题进行研究之后,我找到了一个有用的解决方案 为此,我们需要从Bytecout获得一个免费软件来将swf转换为图像。这可以从这个网站下载 然后我们需要注册COM DLL并将引用添加到我们的项目中。有关进一步的用法,请参阅下文
Protected Sub btnSwf2ImgConverter_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim swfobj As New SWFToImage.SWFToImageObject
swfobj.InitLibrary("demo", "demo")
swfobj.InputSWFFileName = Server.MapPath("dumps/swf/") & "FCF_MSColumn3D.swf"
If ddlImageExtension.SelectedValue = "jpg" Then
swfobj.ImageOutputType = TImageOutputType.iotJPG
ext = ".jpg"
Else
If ddlImageExtension.SelectedValue = "gif" Then
swfobj.ImageOutputType = TImageOutputType.iotGIF
ext = ".gif"
Else
If ddlImageExtension.SelectedValue = "png" Then
swfobj.ImageOutputType = TImageOutputType.iotPNG
ext = ".png"
Else
If ddlImageExtension.SelectedValue = "bmp" Then
swfobj.ImageOutputType = TImageOutputType.iotBMP
ext = ".bmp"
End If
End If
End If
End If
filenm = "FCF_Column3D" & ext
swfobj.Execute_Begin()
'swfobj.Execute()
swfobj.Execute_SetVariable("dataXML", "<graph animation='0' formatNumber='1' divLineColor='ff5904' divLineAlpha='20' alternateHGridAlpha='5' canvasBorderColor='666666' baseFontColor='666666' showAlternateHGridColor='1' AlternateHGridColor='ff5904' anchorSides='3' rotateNames='1' caption='Daily Reports' yAxisMinValue='0' yAxisMaxValue='1' xAxisName='Day-Month-Year' yAxisName='Percentage' decimalPrecision='2' numdivlines='8' numVdivlines='16' showhovercap='1' formatNumberScale='0'> <categories> <category name='1-Jun-2010' showName='1' /> <category name='2-Jun-2010' showName='1' /> <category name='3-Jun-2010' showName='1' /> <category name='4-Jun-2010' showName='1' /> <category name='5-Jun-2010' showName='1' /> <category name='6-Jun-2010' showName='1' /> <category name='7-Jun-2010' showName='1' /> <category name='8-Jun-2010' showName='1' /> <category name='9-Jun-2010' showName='1' /> <category name='10-Jun-2010' showName='1' /> <category name='11-Jun-2010' showName='1' /> <category name='12-Jun-2010' showName='1' /> <category name='13-Jun-2010' showName='1' /> <category name='14-Jun-2010' showName='1' /> <category name='15-Jun-2010' showName='1' /> <category name='Aggregate' showName='1' /></categories><dataset showValues='0' alpha='80' showAnchors='1' seriesname='Answered Percent' color='#f07979' lineThickness='2'><set name='Month' value='97.6'/><set name='Month' value='98.2'/><set name='Month' value='99.3'/><set name='Month' value='99.6'/><set name='Month' value='95.2'/><set name='Month' value='99.3'/><set name='Month' value='99.3'/><set name='Month' value='98.8'/><set name='Month' value='97.5'/><set name='Month' value='96.3'/><set name='Month' value='98.6'/><set name='Month' value='99.1'/><set name='Month' value='99.3'/><set name='Month' value='99.6'/><set name='Month' value='99.2'/><set name='Month' value='98.38'/></dataset></graph>")
swfobj.Execute_SetVariable("chartWidth", "750")
swfobj.Execute_SetVariable("chartHeight", "600")
swfobj.ImageWidth = 600
swfobj.ImageHeight = 500
Threading.Thread.Sleep(10000)
swfobj.Execute_GetImage()
swfobj.SaveToFile(Server.MapPath("dumps/images/" & filenm))
swfobj.Execute_End()
Call DownloadImage(filenm)
End Sub
Public Sub DownloadImage(ByVal fn As String)
Image1.ImageUrl = "~/dumps/images/" & fn
Dim fi As New FileInfo(Server.MapPath("dumps/images/" & fn))
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.AddHeader("content-disposition", String.Format("attachment; filename={0}", fn))
HttpContext.Current.Response.ContentType = "image/" & DropDownList1.SelectedValue
Response.WriteFile(fi.FullName)
Response.Flush()
fi.Delete()
Response.End()
End Sub
受保护的子btnSwf2ImgConverter\u单击(ByVal sender作为对象,ByVal e作为System.EventArgs)处理按钮1。单击
将swfobj调整为新SWFToImage.SWFToImageObject
InitLibrary(“demo”、“demo”)
swfobj.InputSWFFileName=Server.MapPath(“dumps/swf/”)&“FCF\u MSColumn3D.swf”
如果ddlImageExtension.SelectedValue=“jpg”,则
swfobj.ImageOutputType=TImageOutputType.iotJPG
ext=“.jpg”
其他的
如果ddlImageExtension.SelectedValue=“gif”,则
swfobj.ImageOutputType=TImageOutputType.iotGIF
ext=“.gif”
其他的
如果ddlImageExtension.SelectedValue=“png”,则
swfobj.ImageOutputType=TImageOutputType.iotPNG
ext=“.png”
其他的
如果ddlImageExtension.SelectedValue=“bmp”,则
swfobj.ImageOutputType=TImageOutputType.iotBMP
ext=“.bmp”
如果结束
如果结束
如果结束
如果结束
filenm=“FCF_Column3D”&ext
swfobj.Execute_Begin()
'swfobj.Execute()
swfobj.Execute_SetVariable(“dataXML”,即“”)
swfobj.Execute_SetVariable(“图表宽度”、“750”)
swfobj.Execute_SetVariable(“图表高度”、“600”)
swfobj.ImageWidth=600
swfobj.ImageHeight=500
线程。线程。睡眠(10000)
swfobj.Execute_GetImage()
swfobj.SaveToFile(Server.MapPath(“dumps/images/”&filenm))
swfobj.Execute_End()
调用下载映像(filenm)
端接头
公共子下载映像(ByVal fn作为字符串)
Image1.ImageUrl=“~/dumps/images/”&fn
将fi设置为新文件信息(Server.MapPath(“dumps/images/”&fn))
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.AddHeader(“内容处置”,String.Format(“附件;文件名={0}”,fn))
HttpContext.Current.Response.ContentType=“image/”&DropDownList1.SelectedValue
Response.WriteFile(fi.FullName)
Response.Flush()
fi.删除()
答复:End()
端接头
在这里,animation='0'起着非常重要的作用,它指定了融合图swf,它必须在没有动画的情况下加载。另外,如果我们将代码休眠1或2秒,swf将完全加载,图像将转换为所选格式,这也是明智的
希望这对像我这样的人有用。:-) 解决方案 在对这个主题进行研究之后,我找到了一个有用的解决方案 为此,我们需要从Bytecout获得一个免费软件来将swf转换为图像。这可以从这个网站下载 然后我们需要注册COM DLL并将引用添加到我们的项目中。有关进一步的用法,请参阅下文
Protected Sub btnSwf2ImgConverter_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim swfobj As New SWFToImage.SWFToImageObject
swfobj.InitLibrary("demo", "demo")
swfobj.InputSWFFileName = Server.MapPath("dumps/swf/") & "FCF_MSColumn3D.swf"
If ddlImageExtension.SelectedValue = "jpg" Then
swfobj.ImageOutputType = TImageOutputType.iotJPG
ext = ".jpg"
Else
If ddlImageExtension.SelectedValue = "gif" Then
swfobj.ImageOutputType = TImageOutputType.iotGIF
ext = ".gif"
Else
If ddlImageExtension.SelectedValue = "png" Then
swfobj.ImageOutputType = TImageOutputType.iotPNG
ext = ".png"
Else
If ddlImageExtension.SelectedValue = "bmp" Then
swfobj.ImageOutputType = TImageOutputType.iotBMP
ext = ".bmp"
End If
End If
End If
End If
filenm = "FCF_Column3D" & ext
swfobj.Execute_Begin()
'swfobj.Execute()
swfobj.Execute_SetVariable("dataXML", "<graph animation='0' formatNumber='1' divLineColor='ff5904' divLineAlpha='20' alternateHGridAlpha='5' canvasBorderColor='666666' baseFontColor='666666' showAlternateHGridColor='1' AlternateHGridColor='ff5904' anchorSides='3' rotateNames='1' caption='Daily Reports' yAxisMinValue='0' yAxisMaxValue='1' xAxisName='Day-Month-Year' yAxisName='Percentage' decimalPrecision='2' numdivlines='8' numVdivlines='16' showhovercap='1' formatNumberScale='0'> <categories> <category name='1-Jun-2010' showName='1' /> <category name='2-Jun-2010' showName='1' /> <category name='3-Jun-2010' showName='1' /> <category name='4-Jun-2010' showName='1' /> <category name='5-Jun-2010' showName='1' /> <category name='6-Jun-2010' showName='1' /> <category name='7-Jun-2010' showName='1' /> <category name='8-Jun-2010' showName='1' /> <category name='9-Jun-2010' showName='1' /> <category name='10-Jun-2010' showName='1' /> <category name='11-Jun-2010' showName='1' /> <category name='12-Jun-2010' showName='1' /> <category name='13-Jun-2010' showName='1' /> <category name='14-Jun-2010' showName='1' /> <category name='15-Jun-2010' showName='1' /> <category name='Aggregate' showName='1' /></categories><dataset showValues='0' alpha='80' showAnchors='1' seriesname='Answered Percent' color='#f07979' lineThickness='2'><set name='Month' value='97.6'/><set name='Month' value='98.2'/><set name='Month' value='99.3'/><set name='Month' value='99.6'/><set name='Month' value='95.2'/><set name='Month' value='99.3'/><set name='Month' value='99.3'/><set name='Month' value='98.8'/><set name='Month' value='97.5'/><set name='Month' value='96.3'/><set name='Month' value='98.6'/><set name='Month' value='99.1'/><set name='Month' value='99.3'/><set name='Month' value='99.6'/><set name='Month' value='99.2'/><set name='Month' value='98.38'/></dataset></graph>")
swfobj.Execute_SetVariable("chartWidth", "750")
swfobj.Execute_SetVariable("chartHeight", "600")
swfobj.ImageWidth = 600
swfobj.ImageHeight = 500
Threading.Thread.Sleep(10000)
swfobj.Execute_GetImage()
swfobj.SaveToFile(Server.MapPath("dumps/images/" & filenm))
swfobj.Execute_End()
Call DownloadImage(filenm)
End Sub
Public Sub DownloadImage(ByVal fn As String)
Image1.ImageUrl = "~/dumps/images/" & fn
Dim fi As New FileInfo(Server.MapPath("dumps/images/" & fn))
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.AddHeader("content-disposition", String.Format("attachment; filename={0}", fn))
HttpContext.Current.Response.ContentType = "image/" & DropDownList1.SelectedValue
Response.WriteFile(fi.FullName)
Response.Flush()
fi.Delete()
Response.End()
End Sub
受保护的子btnSwf2ImgConverter\u单击(ByVal sender作为对象,ByVal e作为System.EventArgs)处理按钮1。单击
将swfobj调整为新SWFToImage.SWFToImageObject
InitLibrary(“demo”、“demo”)
swfobj.InputSWFFileName=Server.MapPath(“dumps/swf/”)&“FCF\u MSColumn3D.swf”
如果ddlImageExtension.SelectedValue=“jpg”,则
swfobj.ImageOutputType=TImageOutputType.iotJPG
ext=“.jpg”
其他的
如果ddlImageExtension.SelectedValue=“gif”,则
swfobj.ImageOutputType=TImageOutputType.iotGIF
ext=“.gif”
其他的
如果ddlImageExtension.SelectedValue=“png”,则
swfobj.ImageOutputType=TImageOutputType.iotPNG
ext=“.png”
其他的
如果ddlImageExtension.SelectedValue=“bmp”,则
swfobj.ImageOutputType=TImageOutputType.iotBMP
ext=“.bmp”
如果结束
如果结束
如果结束
如果结束
filenm=“FCF_Column3D”&ext
swfobj.Execute_Begin()
'swfobj.Execute()
swfobj.Execute_SetVariable(“dataXML”,即“”)
swfobj.Execute_SetVariable(“图表宽度”、“750”)
swfobj.Execute_SetVariable(“图表高度”、“600”)
swfobj.ImageWidth=600
swfobj.ImageHeight=500
线程。线程。睡眠(10000)
swfobj.Execute_GetImage()
swfobj.SaveToFile(Server.MapPath(“dumps/images/”&filenm))
swfobj.Execute_End()
调用下载映像(filenm)
端接头
公共子下载映像(ByVal fn作为字符串)
Image1.ImageUrl=“~/dumps/images/”&fn
将fi设置为新文件信息(Server.MapPath(“dumps/images/”&fn))
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.AddHeader(“内容处置”,String.Format(“附件;文件名={0}”,fn))
HttpContext.Current.Response.ContentType=“image/”&DropDownList1.SelectedValue
Response.WriteFile(fi.FullName)
Response.Flush()
fi.删除()
答复:End()
端接头
在这里,animation='0'起着非常重要的作用,它指定了融合图swf,它必须在没有动画的情况下加载。另外,如果我们将代码休眠1或2秒,swf将完全加载,图像将转换为所选格式,这也是明智的
希望这对像我这样的人有用。:-) FusionCharts团队开发了一个.NET程序集,该程序集