Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Tuval üzerinde yatay degrade.
Kodu biraz geliştirdim ve ayrıca oluşturma hızından sorumlu bir değişken ekledim:
Oluşturma hızındaki değişiklik, tuvali her çizgi çiziminden sonra değil, aralıklarla güncelleyerek yapılır.
Boşluğun boyutu, "Bölmenin Kalanı" aritmetik işlemi kullanılarak hesaplanır:
Burada farklı renkleri üst üste bindiriyorum: arka plan renginde, tamamen opak (alfa kanalı 255), bir rengi saydamlıkla kaplıyorum (alfa kanalı 128). Soru ortaya çıktı - COLOR_FORMAT_ARGB_RAW ve COLOR_FORMAT_ARGB_NORMALIZE modları için bir pikselin son rengini hesaplamak için hangi formüller kullanılıyor.
Ortaya çıkan rengin hesaplanması makalesine odaklanırsanız, hesaplamalar eşleşmez.
Nerede yanlış: renk sabitleri yanlış veri depoluyor veya PrintFormat işlevi düzgün çalışmıyor mu?
PrintFormat aracılığıyla renkleri tamsayı biçiminde veren bir komut dosyası:
Çıktı sonucu:
clrRed neden 0x000000FF olarak temsil ediliyor ve 0x00FF0000 olarak değil? Sonuçta, kırmızı C'255,0,0'.
clrBlue neden 0x00FF0000 olarak temsil ediliyor ve 0x000000FF olarak değil? Sonuçta mavi C'0,0,255'.
Her şey doğru. ARGB, Color'a kıyasla farklı bir veri depolama biçimine sahiptir.
Kayıt formatı aynı olmalıdır: önce alfa kanalı (varsa), ardından RGB. help'e göre , Color türü , mavi rengi değişmez değerlerle yazar:
C'0x00,0x00,0xFF' // mavi
onlar. tamsayı gösteriminde mavi renk (alfa kanalı olmadan) şu şekilde yazılmalıdır: 0x0000FF. Ancak test komut dosyası mavi rengi geriye doğru verir:
Renk sabitlerinde rengin tersten yazıldığı ortaya çıktı.
Renk sabitlerinde rengin tersten yazıldığı ortaya çıktı.
COLOR_FORMAT_ARGB_RAW ile, "0" (tam saydamlık) parametreli TransparentLevelSet yöntemi, saydamlığı tam saydamlığa yakın yapar, ancak açıkçası tam saydamlık yapmaz.
COLOR_FORMAT_ARGB_RAW ile, "0" (tam saydamlık) parametreli TransparentLevelSet yöntemi, saydamlığı tam saydamlığa yakın yapar, ancak açıkçası tam saydamlık yapmaz.
Açıklama: "0" şeffaflık düzeyinde artık şeffaflık yalnızca x32'de gözlemlenir. x64'te artık saydamlık yoktur:
COLOR_FORMAT_ARGB_RAW modundaki bu tuval davranışı bir hata mı yoksa x32 ve x64 sistemlerinde çizim özelliği mi?
Açıklama: "0" şeffaflık düzeyinde artık şeffaflık yalnızca x32'de gözlemlenir. x64'te artık saydamlık yoktur:
COLOR_FORMAT_ARGB_RAW modundaki bu tuval davranışı bir hata mı yoksa x32 ve x64 sistemlerinde çizim özelliği mi?