什么颜色混合算法用于使颜色变暗?

joe*_*ich 4 java android colors

我有这些卡片上有两种颜色的色调.主色,然后是更暗的强调色:

主要颜色以十六进制给出,但不是重音.你能说出主色的ARGB正在进行什么样的混合或转换才能获得更暗的强调色?

如果它很重要,我正在开发Android,所以我可以访问Color类和ColorFilter,所以我可以应用所有的PorterDuff东西......

在此输入图像描述

Ada*_*zyk 5

如果你想要更暗Color,你可以:

  1. 用你的RGB转换为HSV RGBToHSV().
  2. 降低V(亮度值).它是hsv[2]一个值为0到1的浮点数.
  3. HSV转换到ColorHSVToColor().

如果你想要更暗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;
}
Run Code Online (Sandbox Code Playgroud)