TeeChart缩放
2024-09-02 04:41:56
//缩放的技巧
//首先找到待缩放的区域,例如横轴x1-x2,纵轴y1-y2
//那么待放到的区域就是x=x1;x=x2;y=y1;y=y2;这四条线组成的矩形
//首先确定矩形的左上角的坐标,然后确定矩形的宽和高
需要注意的是TeeChart缩放,依赖的是像素点,所以需要求出的左上角的坐标是,像素点的坐标;
而像素点的坐标原点在TChar的左上角
通过代码来实现缩放
/// <summary>
/// 缩放
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button6_Click(object sender, EventArgs e)
{
//缩放的技巧
//首先找到待缩放的区域,例如横轴10-30,纵轴4-8
//那么待放到的区域就是x=10;x=30;y=4;y=8;这四条线组成的矩形
//首先确定矩形的左上角的坐标,然后确定矩形的宽和高
try
{
if (tChart1 != null)
{
if (tChart1.Series.Count > )
{
int x1 = Convert.ToInt32(textBox8.Text);//x轴的起始
int x2 = Convert.ToInt32(textBox9.Text);//x轴的结束
int y1 = Convert.ToInt32(textBox11.Text);
int y2 = Convert.ToInt32(textBox10.Text);
int x; int y; int height; int width; Rectangle r;
Series series = tChart1.Series[]; //单独横向
//xmin = series.CalcXPosValue(x1);
//xmax = series.CalcXPosValue(x2);
//ymin = series.CalcYPosValue(tChart1.Axes.Left.MinYValue);
//ymax = series.CalcYPosValue(tChart1.Axes.Left.MaxYValue);
//x = xmin;
//y = ymax;
//height = ymin - ymax;
//width = xmax - xmin;
//Console.WriteLine("x:{0},y:{1}", x, y);
//Console.WriteLine("width:{0},height:{1}", width, height);
//r = new Rectangle(x, y, width, height);//a和b代表的是矩形左上角的点的坐标
//tChart1.Zoom.ZoomRect(r); //单独纵向
//ymin = series.CalcYPosValue(y1);
//ymax = series.CalcYPosValue(y2);
//xmin = series.CalcXPosValue(tChart1.Axes.Bottom.MinXValue);
//xmax = series.CalcXPosValue(tChart1.Axes.Bottom.MaxXValue);
//x = xmin;
//y = ymax;
//height = ymin - ymax;
//width = xmax - xmin;
//Console.WriteLine("x:{0},y:{1}", x, y);
//Console.WriteLine("width:{0},height:{1}", width, height);
//r = new Rectangle(x, y, width, height);
//tChart1.Zoom.ZoomRect(r); x = series.CalcXPosValue(x1);
y = series.CalcYPosValue(y2);
width = series.CalcXPosValue(x2)-series.CalcXPosValue(x1);
height = series.CalcYPosValue(y1)-series.CalcYPosValue(y2);
r = new Rectangle(x, y, width, height);
tChart1.Zoom.ZoomRect(r);
}
}
}catch
{
}
}
实现后的效果
最新文章
- AC自动机专题
- js prepend() 和append()区别
- 以 Composer 的方式在 PhpStorm 中添加代码审查工具 Code Sniffer
- 11款样式新颖的 jQuery/CSS3 网页菜单
- VC++ 利用MAPI实现在程序中调用默认的电子邮件程序发送EMAIL(可以添加附件)。
- ZOJ-2362 Beloved Sons 最大权值匹配
- CentOS下使用cmake编译安装mysql
- 快速建立Linux c/c++编译环境
- [jobdu]二叉树的镜像
- TNS-12541,TNS-12560,TNS-00511,TNS-12542,TNS-12560,TNS-00512数据库启动监听报错
- [LeetCode116]Path Sum
- 关于VS2013的编码的UI测试。
- JQuery操作表单控件
- Vue动态组件
- IP协议和网络传输中的封装与分用。
- 洛谷P5289 皮配
- java变量的自动提升与强制转换
- 2.对于所有对象都通用的方法_EJ
- C-Lodop对大小写敏感 不要使用大小混写
- Codeforces 1079D Barcelonian Distance(计算几何)