CGraphic'i test etme - sorular ve öneriler - sayfa 2

 
o_O :

"pikseller" gibi konuşma gitmedi.

Yalnızca Y dizisini gönderdiniz. Yani X basit bir sıra sayısıdır. GetX'i doğru şekilde yayınladı.

Açıklama açıkça "koordinatlar" diyor. Koordinatların piksel olduğunu anlıyorum.
 
Vladimir Karputov :
Açıklama açıkça "koordinatlar" diyor. Koordinatların piksel olduğunu anlıyorum.
hayır, piksel koordinatları ilişkilendirilmemelidir.
 
o_O :
hayır, piksel koordinatları ilişkilendirilmemelidir.
O zaman, oluşturulan (gerçek çift değer) ve piksel koordinatları ile hiçbir ilişki yoktur. Açıklama için bekleyeceğim.
 
Vladimir Karputov :
O zaman, oluşturulan (gerçek çift değer) ve piksel koordinatları ile hiçbir ilişki yoktur. Açıklama için bekleyeceğim.

hayır, her şey iyi düşünülmüş.

Sonuçta, yalnızca bir dizi verdiniz - Y. X için noktaları sıra olarak otomatik olarak hesaplaması gerekiyordu.

CurveAdd'e iki boyutlu bir dizi besleyin. örneğin, X için zaman olsun (prensipte kene değerlerini elde etmek için mantıklıdır). Sonuca bakalım.

---

Burada piksel koordinatlarını almak zaten muhtemelen başka bir sorudur. Çizim koduna (veya eğrinin noktalarının hesaplanmasının nerede olduğuna) bakın. Pikselleri nasıl sayıyor? Belki bu dizi saklanır.

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

Bir hata bulundu - küçük bir m_history.name_width ile sonsuz bir while döngüsü


Sağdaki bu Geçmişi nasıl devre dışı bırakabilirim?

Gönderdiğiniz için teşekkürler, düzelteceğiz. Şu anda geçmişi kapatmanın doğrudan bir yolu yoktur, ancak HistoryNameWidth eğri adı boyutunu ve onun HistorySymbolSize tanımlayıcısını sıfıra ayarlayabilirsiniz.
 
Roman Konopelko :
Gönderdiğiniz için teşekkürler, düzelteceğiz. Şu anda geçmişi kapatmanın doğrudan bir yolu yoktur, ancak HistoryNameWidth eğri adı boyutunu ve onun HistorySymbolSize tanımlayıcısını sıfıra ayarlayabilirsiniz.

sanal işlevler yapacak mısınız?

Çocuğumdaki histogram çizim işlevini geçersiz kılmam gerekiyor - iki renge ihtiyacım vardı - pozitif ve negatif değerler için. Ve her şey sanal değil, geçersiz kılamazsınız (

 

@Roman Konopelko

Lütfen nasıl okunacağını açıklayın

GetX

Tüm eğri noktaları için X koordinatlarını bir diziye yazar


- hala piksel cinsinden KOORDİNATLAR (x, y) mi yoksa eğriyi oluşturmak için iletilen değerler mi?

 
Vladimir Karputov :

@Roman Konopelko

Lütfen nasıl okunacağını açıklayın

GetX

Tüm eğri noktaları için X koordinatlarını bir diziye yazar


- hala piksel cinsinden KOORDİNATLAR (x, y) mi yoksa eğriyi oluşturmak için iletilen değerler mi?

CCurve sınıfında uygulanan GetX ve GetY yöntemleri, oluşturulduğunda kullanılan eğrinin koordinatlarını almanızı sağlar.
 
Roman Konopelko :
CCurve sınıfında uygulanan GetX ve GetY yöntemleri, oluşturulduğunda kullanılan eğrinin koordinatlarını almanızı sağlar.
Lütfen yardıma yazın - ... eğrinin oluşturulduğu verileri almanıza izin verin . Çünkü "koordinatlar" kelimesi "piksel" kelimesine çok benzer.
 

@Roman Konopelko

CalculateXAxis'te ()

tarih/saat TimeToString için eksik biçim

sadece çift StringFormat değerleri için biçimlendirmemiz var.

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

seçenekler:
- CAxis::m_bdatetime değişkenini ekleyin - bu, biçimlendirme sırasında StringFormat yerine TimeToString işlevini çağırmanızı söyler
- veya çıkar

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

ayrı bir sanal işleve dönüştürün ve kullanıcının bunu geçersiz kılmasına izin verin.

Şimdiden teşekkürler.

not. Sınıf ve önceki hatalar hakkında ne haberler var?
Yeni yapıda yeni öğeler veya değişiklikler olacak mı?

Yeni sürümler varsa, derlemenin yayınlanmasını beklemeden onları burada atın.