社区
VCL组件使用和开发
帖子详情
关于TChart缩放的问题
wpaeng
2007-04-23 10:53:12
我现在想在TChart中实现局部放大的功能,具体如下:
点击TChart图中的某一点,图以该点为中心放大(即放大前鼠标所在点在放大后位置不变),比例暂定为120%
不知道我说清楚了没有,其实我只想能做的像一些地图软件中的缩放功能一样
...全文
1186
10
打赏
收藏
关于TChart缩放的问题
我现在想在TChart中实现局部放大的功能,具体如下: 点击TChart图中的某一点,图以该点为中心放大(即放大前鼠标所在点在放大后位置不变),比例暂定为120% 不知道我说清楚了没有,其实我只想能做的像一些地图软件中的缩放功能一样
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wpaeng
2007-04-25
打赏
举报
回复
double tmpX, tmpY;
double IncreasePercent = 0.5;
void __fastcall TForm1::Chart1Click(TObject *Sender)
{
if (tmpX > 0 & tmpY > 0)
{
double OldXMin = Chart1->BottomAxis->Minimum;
double OldXMax = Chart1->BottomAxis->Maximum;
double NewXMin = (tmpX * IncreasePercent + OldXMin) / (1 + IncreasePercent);
double NewXMax = (tmpX * IncreasePercent + OldXMax) / (1 + IncreasePercent);
Chart1->BottomAxis->SetMinMax(NewXMin, NewXMax);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Chart1MouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
Series1->GetCursorValues(tmpX,tmpY); // <-- get values under mouse cursor
}
//---------------------------------------------------------------------------
以上是我具体实现的代码,这里只是实现X轴的ZoomIn(比例为150%),Y轴的同理,
rainv
2007-04-25
打赏
举报
回复
mark一下以后看
wpaeng
2007-04-24
打赏
举报
回复
ok,已经搞定了
wpaeng
2007-04-24
打赏
举报
回复
楼上说的和我想的差不多,鼠标点击时的xy坐标可以找到,关键的问题在于:怎样重设XY轴的大小可以实现 :
点击TChart图中的某一点,图以该点为中心放大(即放大前鼠标所在点在放大后位置不变)
勉励前行
2007-04-23
打赏
举报
回复
用.ZoomPercent 配合設定 X軸 Y軸 座標才能實現。
Chart1.ZoomPercent( 125 ); // Zoom IN 125%
然後找到點擊時的xy坐標,重設 XY軸大小即可。
void ScrollAxis(TChartAxis* Axis, const double Percent)
{
double Amount = -((Axis->Maximum-Axis->Minimum)/(100.0/Percent));
Axis->SetMinMax(Axis->Minimum-Amount,Axis->Maximum - Amount);
}
wpaeng
2007-04-23
打赏
举报
回复
用ZoomPercent确实可以实现缩放,但它是以原图的中心为新图的中心
我想要实现的是:
点击TChart图中的某一点,图以该点为中心放大(即放大前鼠标所在点在放大后位置不变),
比例暂定为120%
constantine
2007-04-23
打赏
举报
回复
Chart1.AnimatedZoom:=True;
Chart1.ZoomPercent( 125 ); { Zoom IN 125% }
Chart1.ZoomPercent( 75 ); { Zoom OUT 75% }
constantine
2007-04-23
打赏
举报
回复
好像用 ZoomPercent就可以
wpaeng
2007-04-23
打赏
举报
回复
确实有拖动放大,但我觉得很不方便,不知道能不能做成像我的要求那样放大呢?
jaffy
2007-04-23
打赏
举报
回复
TChart自己有放大的功能,不过不是点击事件,好象是鼠标的拖动事件
T
char
t组件应用技巧
实现T
char
t组件的图形移动、
缩放
、坐标的即时修改等, 解决动态图形自动平移
问题
常用排序算法介绍_示例程序|排序算法_程序.rar
常用排序算法示例程序,内含T
Char
t8控件。 示例程序涉及15种排序算法,包含每种算法核心思想的介绍;可设置排序的数据个数、数据刷新显示时间等;使用T
Char
t控件显示数据,显示界面可
缩放
。
常用排序算法介绍_源码.rar|排序算法_源码.rar
常用排序算法示例程序,内含T
Char
t8控件。 示例程序涉及15种排序算法,使用C++代码实现,包含每种算法核心思想的介绍;可设置排序的数据个数、数据刷新显示时间等;使用T
Char
t控件显示数据,显示界面可
缩放
。
c#t
char
t的使用
目录x轴设置为指定时间格式,且设置最小间隔时间鼠标滚轮控制
缩放
点击数据点显示曲线信息调出图片导出保存界面绑定数据源并生成曲线 x轴设置为指定时间格式,且设置最小间隔时间 鼠标滚轮控制
缩放
添加滚轮事件 ...
WinFrom .NET Tee
Char
t滚动
缩放
功能 按钮
缩放
功能开发<1>
对Tee
Char
t控件进行
缩放
功能添加该功能是在已经绘图之后1,添加按钮
缩放
功能首先在视图设计器上添加按钮控件为按钮添加响应函数private void zoombtnClick(object sender, EventArgs e) { //double XMid = (...
VCL组件使用和开发
604
社区成员
13,458
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章