Prüfung von CGraphic - Fragen und Anregungen - Seite 2

 
o_O:

Ich glaube nicht, dass Sie von "Pixeln" gesprochen haben.

Sie haben nur ein Y-Array eingereicht. X ist also eine einfache laufende Nummer. Die Ausgabe von GetX ist korrekt.

In der Beschreibung steht eindeutig "Koordinaten". Ich verstehe, dass Koordinaten Pixel sind.
 
Vladimir Karputov:
In der Beschreibung steht eindeutig "Koordinaten". Ich verstehe, dass Koordinaten Pixel sind.
Nein, Koordinaten sollten nicht mit Pixeln verknüpft werden.
 
o_O:
Nein, Koordinaten und Pixel sollten nicht miteinander verbunden werden.
Dann gibt es keine Beziehung zwischen dem, was gezeichnet wird (dem tatsächlichen Wert von double) und den Koordinaten in Pixeln. Ich warte auf eine Klarstellung.
 
Vladimir Karputov:
Dann gibt es keine Beziehung zwischen dem, was gerendert wird (tatsächlicher Wert von double) und den Koordinaten in Pixeln. Ich warte auf eine Klarstellung.

Nein, das ist ein gutes Argument.

Schließlich haben Sie nur ein Feld - Y - angegeben. Es musste die Punkte für X als Ordinalzahl automatisch berechnen.

Geben Sie CurveAdd ein zweidimensionales Array, z. B. für X die Zeit (was im Prinzip logisch ist, um Tick-Werte zu erhalten). lassen Sie uns das Ergebnis sehen.

---

Die Ermittlung von Pixelkoordinaten ist eine andere Sache. Schauen Sie sich den Rendering-Code an (oder wo die Kurvenpunktberechnung durchgeführt wird). Wie es die Pixel berechnet. Vielleicht ist dieses Feld gespeichert.

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

Fehler gefunden - unendliche while-Schleife, wenn m_history.name_width klein ist


Wie kann ich den Verlauf auf der rechten Seite ganz deaktivieren?

Danke für den Hinweis, wir werden das korrigieren. Es gibt derzeit keine direkte Möglichkeit, den Verlauf zu deaktivieren, aber Sie können die Größe des Kurvennamens HistoryNameWidth und seine Bezeichnung HistorySymbolSize auf Null setzen.
 
Roman Konopelko:
Danke für den Hinweis, wir werden das korrigieren. Es gibt derzeit keine direkte Möglichkeit, den Verlauf zu deaktivieren, aber Sie können die Größe des Kurvennamens HistoryNameWidth und seine Bezeichnung HistorySymbolSize auf Null setzen.

virtuelle Funktionen erstellen?

Ich muss in meinem Nachkommen die Histogramm-Rendering-Funktion umdefinieren - ich brauche zwei Farben - für positive und negative Werte. Und alles ist nicht virtuell, ich kann es nicht umdefinieren (

 

@Roman Konopelko

Bitte erklären Sie, wie man liest

GetX

Schreibt die X-Koordinaten für alle Kurvenpunkte in ein Array


- Sind es die COORDINATEN (x,y) in Pixeln oder sind es die Werte, die zur Erstellung der Kurve übergeben werden?

 
Vladimir Karputov:

@Roman Konopelko

Bitte erklären Sie, wie man liest

GetX

Schreibt die X-Koordinaten für alle Kurvenpunkte in ein Array


- Ist es die COORDINATE (x,y) in Pixeln oder ist es der Wert, der zum Zeichnen der Kurve übergeben wird?

Die Methoden GetX und GetY sind in der Klasse CCurve implementiert und ermöglichen es, die Koordinaten der Kurve zu ermitteln, die für ihre Konstruktion verwendet wurden.
 
Roman Konopelko:
Die Methoden GetX und GetY sind in der Klasse CCurve implementiert und ermöglichen es, die Koordinaten der Kurve abzurufen, die für ihre Erstellung verwendet wurde.
Bitte schreiben Sie in die Hilfe - . ermöglichen es, Daten zu erhalten, auf deren Grundlage die Kurve erstellt wurde. Denn das Wort "Koordinaten" hat eine sehr ähnliche Bedeutung wie das Wort "Pixel".
 

@Roman Konopelko.

in BerechneXAchse()

fehlendes Format wie bei Datum/Uhrzeit TimeToString

haben nur die Formatierung für Doppelwerte StringFormat.

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

Optionen:
- Hinzufügen der CAxis::m_bdatetime-Variable, die beim Formatieren die TimeToString-Funktion anstelle von StringFormat aufrufen soll
- oder zum Mitnehmen

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

in eine separate virtuelle Funktion umwandeln und dem Benutzer erlauben, sie zu überschreiben.

Vielen Dank im Voraus.

PS. Was gibt es Neues über die Klasse und frühere Bugs?
Wird es im neuen Build irgendwelche Neuigkeiten oder Änderungen geben?

Wenn Sie neue Versionen haben, stellen Sie sie bitte hier ein, ohne auf die Veröffentlichung des Builds zu warten.