Test de CGraphic - questions et suggestions - page 2

 
o_O:

Je ne pense pas que vous parliez de "pixels".

Vous avez seulement soumis un tableau Y. Donc X est un simple numéro de séquence. La sortie de GetX est correcte.

La description indique clairement "coordonnées". Je comprends que les coordonnées sont des pixels.
 
Vladimir Karputov:
La description indique clairement "coordonnées". Je comprends que les coordonnées sont des pixels.
non, les coordonnées ne doivent pas être associées aux pixels.
 
o_O:
non, les coordonnées et les pixels ne doivent pas être liés.
Il n'y a alors aucune relation entre ce qui est dessiné (la valeur réelle du double) et les coordonnées en pixels. J'attendrai une clarification.
 
Vladimir Karputov:
Il n'y a alors aucune relation entre ce qui est rendu (valeur réelle du double) et les coordonnées en pixels. J'attendrai une clarification.

Non, c'est un bon point.

Après tout, vous n'avez donné qu'un seul tableau - Y. Il devait calculer automatiquement les points pour X comme ordinal.

Donnez à CurveAdd un tableau à deux dimensions. par exemple sur X que ce soit le temps (ce qui est logique en principe pour obtenir des valeurs en tick). voyons le résultat.

---

Obtenir les coordonnées des pixels est une autre affaire. Regardez le code de rendu (ou l'endroit où le calcul du point de courbe est effectué). Comment il calcule les pixels. Peut-être que ce tableau est stocké.

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

Trouvé un bug - boucle while infinie quand m_history.name_width est petit


Comment désactiver complètement cet historique sur le côté droit ?

Merci pour le message, nous allons le corriger. Il n'existe pas de moyen direct de désactiver l'historique pour le moment, mais vous pouvez définir la taille du nom de la courbe HistoryNameWidth et sa désignation HistorySymbolSize à zéro.
 
Roman Konopelko:
Merci pour le message, nous allons le corriger. Il n'existe pas de moyen direct de désactiver l'historique pour le moment, mais vous pouvez définir la taille du nom de la courbe HistoryNameWidth et sa désignation HistorySymbolSize à zéro.

fonctions virtuelles?

J'ai besoin dans mon descendant de redéfinir la fonction de rendu de l'histogramme - j'ai besoin de deux couleurs - pour les valeurs positives et négatives. Et tout n'est pas virtuel, je ne peux pas le redéfinir (

 

@Roman Konopelko

Veuillez expliquer comment lire

GetX

Ecrit les coordonnées X de tous les points de la courbe dans un tableau


- s'agit-il de la COORDONNEE (x,y) en pixels ou de la valeur passée pour dessiner la courbe ?

 
Vladimir Karputov:

@Roman Konopelko

Veuillez expliquer comment lire

GetX

Ecrit les coordonnées X de tous les points de la courbe dans un tableau


- s'agit-il de la COORDONNEE (x,y) en pixels ou de la valeur passée pour dessiner la courbe ?

Les méthodes GetX et GetY sont implémentées dans la classe CCurve et vous permettent d'obtenir les coordonnées de la courbe qui ont été utilisées pour la construire.
 
Roman Konopelko:
Les méthodes GetX et GetY sont implémentées dans la classe CCurve et vous permettent d'obtenir les coordonnées de la courbe qui a été utilisée pour la créer.
Veuillez écrire dans l'aide - . permettent d'obtenir les données sur lesquelles la courbe a été construite. Parce que le mot "coordonnées" a une signification très similaire au mot "pixels".
 

@Roman Konopelko.

dans CalculateXAxis()

manque le même format que pour la date/heure TimeToString

n'ont que le formatage pour les valeurs doubles StringFormat.

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

options :
- ajouter la variable CAxis::m_bdatetime - qui vous indiquera d'appeler la fonction TimeToString lors du formatage au lieu de StringFormat
- ou à emporter

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

dans une fonction virtuelle séparée, et laisser l'utilisateur l'écraser.

Merci d'avance.

PS. Quelles nouvelles sur la classe et les bugs précédents ?
Y aura-t-il des nouveautés ou des modifications dans la nouvelle version ?

Si vous avez de nouvelles versions, veuillez les déposer ici, sans attendre la publication du build.