//缩放的技巧
//首先找到待缩放的区域,例如横轴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
{
}
}

实现后的效果

最新文章

  1. AC自动机专题
  2. js prepend() 和append()区别
  3. 以 Composer 的方式在 PhpStorm 中添加代码审查工具 Code Sniffer
  4. 11款样式新颖的 jQuery/CSS3 网页菜单
  5. VC++ 利用MAPI实现在程序中调用默认的电子邮件程序发送EMAIL(可以添加附件)。
  6. ZOJ-2362 Beloved Sons 最大权值匹配
  7. CentOS下使用cmake编译安装mysql
  8. 快速建立Linux c/c++编译环境
  9. [jobdu]二叉树的镜像
  10. TNS-12541,TNS-12560,TNS-00511,TNS-12542,TNS-12560,TNS-00512数据库启动监听报错
  11. [LeetCode116]Path Sum
  12. 关于VS2013的编码的UI测试。
  13. JQuery操作表单控件
  14. Vue动态组件
  15. IP协议和网络传输中的封装与分用。
  16. 洛谷P5289 皮配
  17. java变量的自动提升与强制转换
  18. 2.对于所有对象都通用的方法_EJ
  19. C-Lodop对大小写敏感 不要使用大小混写
  20. Codeforces 1079D Barcelonian Distance(计算几何)

热门文章

  1. gulp自动化部署:gulp发布express项目(二)
  2. Memcached集群架构方面的问题(转)
  3. redis连接池的标准用法:
  4. 如何解决win8系统下卸载软件出现错误代码为2502和2503的问题
  5. [lr] 矫正白平衡
  6. Redis的设计与实现——字典
  7. DataTable转换成IList 【转载】
  8. 浅谈Java中的初始化和清理
  9. 微信小程序-1
  10. C++声明和定义