Teste CGraphic - perguntas e sugestões - página 2

 
o_O:

Eu não acho que você estava falando de "pixels".

Você só apresentou uma matriz em Y. Então X é um número sequencial simples. A saída da GetX é correta.

A descrição diz claramente "coordenadas". Eu entendo que as coordenadas são pixels.
 
Vladimir Karputov:
A descrição diz claramente 'coordenadas'. Eu entendo que as coordenadas são pixels.
não, as coordenadas não devem ser associadas a pixels.
 
o_O:
não, as coordenadas com pixels não devem ser relacionadas.
Então não há relação com o que é desenhado (o valor real do dobro) e as coordenadas em pixels. Vou esperar por esclarecimentos.
 
Vladimir Karputov:
Então não há relação com o que é renderizado (valor real do dobro) e coordenadas em pixels. Vou esperar por esclarecimentos.

Não, esse é um bom ponto.

Afinal, você deu apenas um array - Y. Tinha que calcular automaticamente os pontos para X como ordinal.

Dê CurveAdd uma matriz bidimensional. por exemplo, em X deixe que seja o tempo (o que é lógico, em princípio, para obter valores de tick). vamos ver o resultado.

---

Mas a obtenção de coordenadas pixel é provavelmente outra questão. Veja o código de renderização (ou onde é feito o cálculo do ponto da curva). Como calcula os pixels. Talvez essa matriz esteja armazenada.

 
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+="...";
        }

Encontrei um bug - infinito enquanto loop quando m_history.name_width é pequeno


Como desabilitar totalmente esta História no lado certo?

Obrigado pelo correio, nós o consertaremos. Não há maneira direta de desativar o histórico no momento, mas você pode definir o tamanho do nome da curva HistoryNameWidth e sua designação HistorySymbolSize para zero.
 
Roman Konopelko:
Obrigado pelo correio, nós o consertaremos. Não há uma maneira direta de desativar o histórico no momento, mas você pode definir o tamanho do nome da curva HistoryNameWidth e sua designação HistorySymbolSize para zero.

funções virtuais?

Preciso em meu descendente redefinir a função de renderização do histograma - preciso de duas cores - para valores positivos e negativos. E nem tudo é virtual, não posso redefini-lo (

 

@Roman Konopelko

Por favor, explique como ler

GetX

Escreve coordenadas X para todos os pontos da curva em uma matriz


- é o COORDENADO (x,y) em pixels ou é o valor passado para traçar a curva?

 
Vladimir Karputov:

@Roman Konopelko

Por favor, explique como ler

GetX

Escreve coordenadas X para todos os pontos da curva em uma matriz


- é o COORDENADO (x,y) em pixels ou é o valor passado para traçar a curva?

Os métodos GetX e GetY são implementados na classe CCurve e permitem obter as coordenadas da curva que foram usadas para construí-la.
 
Roman Konopelko:
Os métodos GetX e GetY são implementados na classe CCurve e permitem obter as coordenadas da curva que foi utilizada para criá-la.
Por favor, escreva em ajuda - . permitir obter dados com base nos quais a curva foi construída. Porque a palavra "coordenadas" tem um significado muito semelhante ao da palavra "pixels".
 

@Roman Konopelko.

em CalculateXAxis()

não tem o formato da data/hora TimeToString

têm apenas formatação para valores duplos StringFormat.

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

opções:
- adicionar CAxis::m_bdatetime variable - que lhe dirá para chamar a função TimeToString quando estiver formatando em vez de StringFormat
- ou tirar

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

em uma função virtual separada, e deixar o usuário substituí-la.

Obrigado de antemão.

PS. Que novidades sobre a classe e insetos anteriores?
Haverá alguma notícia ou edição na nova construção?

Se você tiver novas versões, por favor, deixe-as aqui, sem esperar pela publicação da construção.