SORU
4 Aralık 2008, PERŞEMBE


Bir güç ölçer kırmızı ve yeşil arasında bir renk oluşturur?

Java bir oyun yazıyorum ve bir şey vurmak için gidiyoruz ne için bir güç ölçer uygulamak istiyorum.

Ben bir işlev yazın alır bir int arasında 0 - 100, ve dayalı ne kadar yüksek ise, o-ecek dönmek bir renk arasında Yeşil (0 power on ölçek) ve Kırmızı (100 güç ölçeği).

Ses kontrolleri nasıl çalıştığını benzer:
alt text

Operasyonu ben Yeşil ve Kırmızı arasındaki renkleri oluşturmak için bir renk Kırmızı, Yeşil ve Mavi bileşenleri hakkında ne yapmam gerekiyor?

Öyleyse, benim çalıştırmak demek, getColor(80) ve geri dönecektir bir orangish renk değerleri R, G, B) veya getColor(10) dönecektir daha fazla Yeşil/Sarı rgb değeri.

R bileşenleri artırmak istiyorum biliyorum, G, B yeni bir renk için değer, ama yukarı veya aşağı Yeşil-Kırmızı renkleri shift olarak gidiyor özellikle bilmiyorum.


İlerleme:

Yukarı gradiant daha çok seviyordum çünkü renk alanı HSB/HSV (ortada koyu kahverengi) ile sona erdi.

Kullandığım fonksiyon (java):

public Color getColor(double power)
{
    double H = power * 0.4; // Hue (note 0.4 = Green, see huge chart below)
    double S = 0.9; // Saturation
    double B = 0.9; // Brightness

    return Color.getHSBColor((float)H, (float)S, (float)B);
}

"Güç" 0.0 ve 1.0 arasında bir sayıdır. 0.0 parlak bir kırmızı, 1.0 parlak yeşile döner.

Renk Grafik Java:
alt text

CEVAP
4 Aralık 2008, PERŞEMBE


Bu çalışması gerekir - sadece doğrusal olarak kırmızı ve yeşil değerleri ölçek. Max kırmızı/yeşil/mavi değeri 255 n olduğunu varsayarsak 5 ** aralığındadır

R = (255 * n) / 100
G = (255 * (100 - n)) / 100 
B = 0

(Tamsayı matematik, Ferrucio için şapka ucu için değiştirilmiş)

Başka bir yolu 120 degrees (yeşil) sana uygun ne için ** 9, ve döngüsü 0 degrees (kırmızı) renk kullanımı olacaktır. Bu daha hoş bir degrade verin.

Burada her tekniği gösterimi - üst degrade HSV, RGB, alt kullanır:

http://i38.tinypic.com/29o0q4k.jpg

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • graham025

    graham025

    25 NİSAN 2006
  • rtisticsdev

    rtisticsdev

    31 Mayıs 2012
  • Xcode programming tutorials

    Xcode progra

    17 EYLÜL 2006