より暗くしたい場合はColor
、次のことができます。
- で RGB を HSV に変換します
RGBToHSV()
。
- V(明度値)を下げる。それ
hsv[2]
は、0 から 1 までの値を持つ float です。
- HSV を
Color
で変換しHSVToColor()
ます。
より暗くしたい場合はBitmap
、
うまくいくPorterDuff.Mode.DARKEN
はずです。COLOR
値を調整するだけです:
private Bitmap getDarkerBitmap(Bitmap src)
{
final int COLOR = 0xAAFFFFFF;
final int WIDTH = src.getWidth();
final int HEIGHT = src.getHeight();
final Bitmap result = Bitmap.createBitmap(WIDTH, HEIGHT, src.getConfig());
final BitmapDrawable drawable = new BitmapDrawable(src);
drawable.setBounds(0, 0, WIDTH, HEIGHT);
drawable.setColorFilter(COLOR, PorterDuff.Mode.DARKEN);
drawable.draw(new Canvas(result));
return result;
}