2017-01-08 6 views
1

からコードを解析した後:文字列の六角色を考えると変更RGBのint型の六角

String green = "#99FFCC"; 
adjustColor(green); 

private int adjustColor(String color){ 
     int colorToAdjust = Color.parseColor(color); 

     //Pseudocode 
     int red = colorToAdjust.getRed(); //get red value from RGB 
     red *= 0.5;      //halve it 
     colorToAdjust.setRed(red);   //set red value 

     return colorToAdjust; 
    } 

、私はintにそれを解析します。個々のRGBカラーをどのように変更するのですか?上記のやり方は、私がやろうとしているやや疑似コードです:16進数の解析、個々の色の取得、変更、書き戻し

答えて

1

red()関数を呼び出すだけで、 Blue & Greenの元の値と以前に抽出したRedの半分の値に基づいた色です。

rgb()関数を呼び出し、新しい値のRed、Green & Blueを渡すことで、新しい色を作成できます。ここで

は、コードスニペットです:

String green = "#99FFCC"; 
adjustColor(green); 

private int adjustColor(String color) { 
    /* Get RGB Value Of Color */ 
    int colorToAdjust = Color.parseColor(color); 

    /* Get Red Value From RGB */ 
    int redAmount = Color.red(colorToAdjust); 

    /* Return New Color By Halving Red */ 
    return Color.rgb(0.5 * redAmount, Color.green(colorToAdjust), 
        Color.blue(colorToAdjust)); 
} 

あなたはより多くの情報については、このReferenceを見てすることができます。

+0

「Color」クラスには、どのメソッドが使用されていますか? Java FX ColorクラスもJava AWT Colorクラスもそれらを持っていません。 –

+0

@DavidWallace質問は 'Android'とタグ付けされています。私は' Android'の 'Color'クラスがこれらの関数を持っていると思います。出典:https://developer.android.com/reference/android/graphics/Color.html#red(int) – user2004685

+0

ああ、わかります。おそらく 'import android.graphics.Color;'をあなたの答えに加える価値があるでしょう。 –

関連する問題