より暗くしたい場合は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;
}