int width=230;//白色背景宽
const int bufferspace=15;
int legendheight=fontlegend.Height*(ds.Tables[0].Rows.Count+1)+bufferspace;
int titleheight = fonttitle.Height + bufferspace;
int height = width + legendheight + titleheight + bufferspace;//白色背景高
int pieheight = width;
Rectangle pierect=new Rectangle(0,titleheight,width,pieheight);
//加上各种随机色
ArrayList colors = new ArrayList();
Random rnd = new Random();
for (iloop = 0; iloop < ds.Tables[0].Rows.Count; iloop++)
colors.Add(new SolidBrush(Color.FromArgb(rnd.Next(255), rnd.Next(255),
'在画布(objBitMap对象)的坐标5,5处,用指定的Brush(画笔)对象和Font(字体)对象绘制统计图标题。
objGraphics.DrawString(" X 公司上半年销售情况", New Font("宋体", 16), Brushes.Black, New PointF(5, 5))
'创建图例文字。
Dim symbolLeg As PointF = New PointF(335, 20)
Dim descLeg As PointF = New PointF(360, 16)
'画出图例。利用objGraphics图形对象的三个方法画出图例:FillRectangle()方法画出填充矩形,DrawRectangle()方法画出矩形的边框,DrawString()方法画出说明文字。这三个图形对象的方法在 .NET 框架类库类库中均已重载,可以很方便根据不同的参数来画出图形。
For i = 0 To arrValueNames.Length - 1
'下面这段函数用来根据不同的月份返回不同的颜色值。
Private Function GetColor(ByVal itemIndex As Integer) As Color
Dim objColor As Color
Select Case itemIndex
Case 0
objColor = Color.Blue
Case 1
objColor = Color.Red
Case 2
objColor = Color.Yellow
Case 3
objColor = Color.Purple
Case 4
objColor = Color.Orange
Case 5
objColor = Color.Brown
Case 6
objColor = Color.Gray
Case 7
objColor = Color.Maroon
Case 8
objColor = Color.Maroon
Case Else
objColor = Color.Blue
End Select