测试CGraphic--问题和建议 - 页 2

 
o_O:

我不认为你说的是 "像素"。

你只提交了一个Y阵列。所以X是一个简单的序列号。GetX的输出是正确的。

描述中明确说是 "坐标"。我明白,坐标是像素。
 
Vladimir Karputov:
描述中清楚地写着'坐标'。我明白,坐标是像素。
不,坐标不应该与像素相关联。
 
o_O:
不,坐标与像素不应该有关系。
那么画出来的东西(双倍的实际值)和像素的坐标就没有关系了。我将等待澄清。
 
Vladimir Karputov:
那么渲染的内容(双倍的实际值)和像素的坐标就没有关系了。我将等待澄清。

不,这是个好观点。

毕竟,你只给了一个数组--Y。它必须自动计算出X的点数,作为序数。

给CurveAdd一个二维数组。例如在X上让它成为时间(这在原则上是符合逻辑的,可以得到tick值)。让我们看看结果。

---

获取像素坐标是另一回事。看一下渲染代码(或者说在哪里进行曲线点的计算)。它是如何计算像素的。也许那个数组被储存起来了。

 
o_O:
      //--- trim the name
      m_canvas.FontSizeSet(m_history.name_size);
      if(m_canvas.TextWidth(name)>m_history.name_width)
        {
         while(m_canvas.TextWidth(name+"...")>m_history.name_width)
            name=StringSubstr(name,0,StringLen(name)-1);
         name+="...";
        }

发现一个错误--当m_history.name_width较小时,无限次的while循环。


如何完全禁用右侧的 "历史"?

谢谢你的帖子,我们会修复它。目前没有直接禁用历史的方法,但你可以将曲线名称大小HistoryNameWidth及其指定的HistorySymbolSize设为零。
 
Roman Konopelko:
谢谢你的帖子,我们会修复它。目前还没有直接禁用历史的方法,但你可以将HistoryNameWidth曲线名称及其指定的HistorySymbolSize的大小设置为零。

虚拟功能 吗?

我需要在我的后代中重新定义直方图渲染函数--我需要两种颜色--正值和负值。 而一切都不是虚拟的,我不能重新定义它(

 

@罗曼-科诺佩尔科

请解释如何阅读

ǞǞǞ

将所有曲线点的X坐标写入一个数组中


- 是以像素为单位的COORDINATE(x,y)还是绘制曲线时传递的数值?

 
Vladimir Karputov:

@罗曼-科诺佩尔科

请解释如何阅读

ǞǞǞ

将所有曲线点的X坐标写入一个数组中


- 是以像素为单位的COORDINATE(x,y)还是绘制曲线时传递的数值?

GetX和GetY方法在CCurve类中实现,允许你获得用于构建曲线的坐标。
 
Roman Konopelko:
GetX和GetY方法在CCurve类中实现,允许你获得用于创建曲线的坐标。
请在帮助中写道 - 。允许获得建立曲线所依据的数据。因为 "坐标 "一词与 "像素 "一词的含义非常相似。
 

@罗曼-科诺佩尔科

CalculateXAxis()中

与日期/时间的格式相同 TimeToString

只对双倍值进行格式化 StringFormat.

string xformat=m_x.ValuesFormat()。
m_xvalues[i]=(xformat==NULL)?StringFormat("%7g",x) : StringFormat(xformat,x);

选项。
- 添加CAxis::m_bdatetime变量--它将告诉你在格式化时调用TimeToString函数而不是StringFormat。
- 或取出来

string xformat=m_x.ValuesFormat()。
m_xvalues[i]=(xformat==NULL)?StringFormat("%7g",x) : StringFormat(xformat,x);

变成一个单独的虚拟函数,并让用户覆盖它。

提前感谢。

PS。关于班级和以前的虫子有什么消息?
在新的建设中是否会有任何新闻或编辑?

如果你有新的版本,请把它们放在这里,而不必等待构建的出版。