如果GUI+熟的话,自己写,很简单的。 给你个简单的例子。 <asp:Image id="Image1" style="Z-INDEX: 101; LEFT: 370px; POSITION: absolute; TOP: 165px" runat="server" ImageUrl="Image.aspx?WD=200&CT=5&PP1=20.0&PC1=green&PT1=25%&PP2=20.0&PC2=blue&PT2=25%&PP3=20.0&PC3=blank&PT3=25%&PP4=20.0&PC4=yellow&PT4=25%&PP5=20.0&PC5=blue&PT5=25%&"></asp:Image>这是个简单的扇形图。参数为: wd:width ct:count pp1:Part 1 percent pc1:part1 color pt1:part 1 textImports System.Drawing Imports System.Drawing.Design Imports System.Drawing.ImagingPublic Class DrawParam Public Shared MaxPart As Short = 10 Public Width As Integer Public Height As Integer Public BackColor As Color Public Parts As New ArrayList(MaxPart) End ClassPublic Class Part Public Percent As Short Public ForeColor As Color Public Text As String Public Sub New(ByVal per As String, ByVal col As String, ByVal word As String) Percent = Short.Parse(per) If Percent > 100 Or Percent < 0 Then Throw New ArgumentException("Percent is Range form 1 to 99.") End If ForeColor = Color.FromName(col) Text = word End Sub End Class Public Class ImagePage Inherits System.Web.UI.Page#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。 <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: 此方法调用是 Web 窗体设计器所必需的 '不要使用代码编辑器修改它。 InitializeComponent() End Sub#End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim objBitmap As Bitmap Dim objGraphics As Graphics Dim param As DrawParam ' param = ParseParam() objBitmap = New Bitmap(200, 200) objGraphics = Graphics.FromImage(objBitmap) 'objGraphics.DrawEllipse(New Pen(Color.Red), 0, 0, param.Width, param.Width) objGraphics.FillPie(New SolidBrush(Color.Blue), New Rectangle(0, 0, 200, 200), 0.0F, 90.0F) objBitmap.Save(Response.OutputStream, ImageFormat.Gif) objBitmap.Dispose() objGraphics.Dispose() Me.Response.ContentType = "image/gif" End Sub Private Function ParseParam() As DrawParam Dim result As New DrawParam() result.Height = Me.Request.QueryString.Item("HT") result.Width = Me.Request.QueryString.Item("WH") Dim count As Short = Me.Request.QueryString.Item("CT") If count > 10 Then Throw New ArgumentException("Not Support!") End If Dim i As Short For i = 1 To count Dim p As New Part(Me.Request.QueryString.Item("PP" + i.ToString()), _ Me.Request.QueryString.Item("PC" + i.ToString()), _ Me.Request.QueryString.Item("PT" + i.ToString())) result.Parts.Add(p) Next result.BackColor = Color.FromName(Me.Request.QueryString.Item("BC")) Return result End FunctionEnd Class
那里有下载,或有例子吗?
给你个简单的例子。
<asp:Image id="Image1" style="Z-INDEX: 101; LEFT: 370px; POSITION: absolute; TOP: 165px" runat="server" ImageUrl="Image.aspx?WD=200&CT=5&PP1=20.0&PC1=green&PT1=25%&PP2=20.0&PC2=blue&PT2=25%&PP3=20.0&PC3=blank&PT3=25%&PP4=20.0&PC4=yellow&PT4=25%&PP5=20.0&PC5=blue&PT5=25%&"></asp:Image>这是个简单的扇形图。参数为:
wd:width
ct:count
pp1:Part 1 percent
pc1:part1 color
pt1:part 1 textImports System.Drawing
Imports System.Drawing.Design
Imports System.Drawing.ImagingPublic Class DrawParam
Public Shared MaxPart As Short = 10
Public Width As Integer
Public Height As Integer
Public BackColor As Color
Public Parts As New ArrayList(MaxPart)
End ClassPublic Class Part
Public Percent As Short
Public ForeColor As Color
Public Text As String Public Sub New(ByVal per As String, ByVal col As String, ByVal word As String)
Percent = Short.Parse(per)
If Percent > 100 Or Percent < 0 Then
Throw New ArgumentException("Percent is Range form 1 to 99.")
End If
ForeColor = Color.FromName(col)
Text = word
End Sub
End Class
Public Class ImagePage
Inherits System.Web.UI.Page#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub#End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim objBitmap As Bitmap
Dim objGraphics As Graphics
Dim param As DrawParam ' param = ParseParam()
objBitmap = New Bitmap(200, 200)
objGraphics = Graphics.FromImage(objBitmap) 'objGraphics.DrawEllipse(New Pen(Color.Red), 0, 0, param.Width, param.Width)
objGraphics.FillPie(New SolidBrush(Color.Blue), New Rectangle(0, 0, 200, 200), 0.0F, 90.0F) objBitmap.Save(Response.OutputStream, ImageFormat.Gif) objBitmap.Dispose()
objGraphics.Dispose() Me.Response.ContentType = "image/gif" End Sub Private Function ParseParam() As DrawParam
Dim result As New DrawParam()
result.Height = Me.Request.QueryString.Item("HT")
result.Width = Me.Request.QueryString.Item("WH")
Dim count As Short = Me.Request.QueryString.Item("CT")
If count > 10 Then
Throw New ArgumentException("Not Support!")
End If
Dim i As Short
For i = 1 To count
Dim p As New Part(Me.Request.QueryString.Item("PP" + i.ToString()), _
Me.Request.QueryString.Item("PC" + i.ToString()), _
Me.Request.QueryString.Item("PT" + i.ToString()))
result.Parts.Add(p)
Next
result.BackColor = Color.FromName(Me.Request.QueryString.Item("BC")) Return result
End FunctionEnd Class
http://sorke.com/downcontrol.aspx 控件类型:图表控件
同时,这些控件,使用服务器端脚本开发,还是客户端呢?
www.dundas.com
免费的,我也正在用这个