TeeChart for .NET是一款专业的图表控件,包含了很多种各个领域所涉及到的图表类型和图表功能,利用该控件可以创建各种交互式地图表应用程序,这篇文章主要介绍怎么利用该控件自定义数据点样式,下面的代码采用图片作为一个数据点来显示,具体参考下面的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Steema.TeeChart;
using Steema.TeeChart.Drawing;
using Steema.TeeChart.Editors;
namespace ChartSamples
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ImagePoint imagePoint = new ImagePoint(tChart1.Chart);
imagePoint.Image = pictureBox1.Image;
imagePoint.FillSampleValues(100);
}
private void tChart1_Click(object sender, EventArgs e)
{
tChart1.ShowEditor();
}
}
public class ImagePoint : Steema.TeeChart.Styles.Points
{
private Image image;
public ImagePoint(Steema.TeeChart.Chart c)
: base(c)
{
}
public Image Image
{
get { return image; }
set { image = value; }
}
public override string Description
{
get
{
return "ImagePoint";
}
}
public override void DrawValue(int index)
{
Rectangle R;
if (image == null) base.DrawValue(index);
else
{
Pointer.HorizSize = image.Width;
Pointer.VertSize = image.Height;
int left = CalcXPos(index) - (Pointer.HorizSize / 2);
int top = CalcYPos(index) - (Pointer.VertSize / 2);
R = Rectangle.FromLTRB(left,
top,
left + Pointer.HorizSize,
top + Pointer.VertSize);
Graphics3D g = Chart.Graphics3D;
g.Draw(R, image, true);
}
}
}
}