Test CGraphic - domande e suggerimenti - pagina 2

 
o_O:

Non credo che stesse parlando di "pixel".

Hai presentato solo una matrice Y. Quindi X è un semplice numero di sequenza. L'output di GetX è corretto.

La descrizione dice chiaramente "coordinate". Ho capito che le coordinate sono pixel.
 
Vladimir Karputov:
La descrizione dice chiaramente "coordinate". Ho capito che le coordinate sono pixel.
no, le coordinate non dovrebbero essere associate ai pixel.
 
o_O:
no, le coordinate con i pixel non dovrebbero essere correlate.
Allora non c'è alcuna relazione tra ciò che viene disegnato (il valore reale del doppio) e le coordinate in pixel. Aspetto un chiarimento.
 
Vladimir Karputov:
Allora non c'è relazione tra ciò che viene reso (valore effettivo del doppio) e le coordinate in pixel. Aspetto un chiarimento.

No, è la cosa giusta da fare.

Dopo tutto, avete dato solo una matrice - Y. Doveva calcolare automaticamente i punti per X come ordinale.

Date a CurveAdd un array bidimensionale. per esempio su X lasciate che sia il tempo (che è logico in principio per ottenere valori di tick). vediamo il risultato.

---

Ottenere le coordinate dei pixel è probabilmente un'altra questione. Guardate il codice di rendering (o dove viene fatto il calcolo del punto di curva). Come calcola i pixel. Forse quell'array è memorizzato.

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

Trovato un bug - ciclo while infinito quando m_history.name_width è piccolo


Come faccio a disabilitare del tutto questa Storia sul lato destro?

Grazie per il post, lo sistemeremo. Non c'è un modo diretto per disabilitare la cronologia al momento, ma è possibile impostare la dimensione del nome della curva HistoryNameWidth e la sua designazione HistorySymbolSize a zero.
 
Roman Konopelko:
Grazie per il post, lo sistemeremo. Non c'è un modo diretto per disabilitare la cronologia al momento, ma è possibile impostare la dimensione del nome della curva HistoryNameWidth e la sua designazione HistorySymbolSize a zero.

funzioni virtuali?

Ho bisogno nel mio discendente di ridefinire la funzione di rendering dell'istogramma - ho bisogno di due colori - per valori positivi e negativi. E tutto non è virtuale, non posso ridefinirlo (

 

@Roman Konopelko

Per favore, spiega come leggere

GetX

Scrive le coordinate X per tutti i punti della curva in un array


- è la COORDINATA (x,y) in pixel o è il valore passato per disegnare la curva?

 
Vladimir Karputov:

@Roman Konopelko

Per favore, spiega come leggere

GetX

Scrive le coordinate X per tutti i punti della curva in un array


- è la COORDINATA (x,y) in pixel o è il valore passato per disegnare la curva?

I metodi GetX e GetY sono implementati nella classe CCurve e permettono di ottenere le coordinate della curva che sono state utilizzate per costruirla.
 
Roman Konopelko:
I metodi GetX e GetY sono implementati nella classe CCurve e permettono di ottenere le coordinate della curva che è stata usata per crearla.
Si prega di scrivere in aiuto - . permettono di ottenere i dati in base ai quali è stata costruita la curva. Perché la parola "coordinate" ha un significato molto simile alla parola "pixel".
 

@Roman Konopelko.

in CalculateXAxis()

manca il formato della data/ora TimeToString

hanno solo la formattazione per i valori doppi StringFormat.

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

opzioni:
- aggiungere la variabile CAxis::m_bdatetime - che vi dirà di chiamare la funzione TimeToString quando formattate invece di StringFormat
- o portare fuori

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

in una funzione virtuale separata, e lasciare che l'utente la sovrascriva.

Grazie in anticipo.

PS. Quali notizie sulla classe e sui bug precedenti?
Ci saranno novità o modifiche nella nuova build?

Se avete nuove versioni, per favore lasciatele qui, senza aspettare la pubblicazione della build.

Motivazione: