我有这些卡片,上面有两种颜色。主要颜色,然后是较暗的强调色:
主要颜色以十六进制形式提供给我,但不是重音。您能说出对主颜色的 ARGB 进行了何种混合或转换以获得较暗的强调色吗?
如果重要的话,我正在针对 Android 进行开发,因此我可以访问 Color 类和 ColorFilter,这样我就可以应用所有 PorterDuff 的东西......
如果你想要深色Color
, 你可以:
- 将 RGB 转换为 HSVRGBToHSV() http://developer.android.com/reference/android/graphics/Color.html#RGBToHSV%28int,%20int,%20int,%20float%5B%5D%29.
- 降低V(亮度值)。它是
hsv[2]
,一个值为 0 到 1 的浮点数。
- 将 HSV 转换为
Color
with HSVToColor() http://developer.android.com/reference/android/graphics/Color.html#HSVToColor%28float%5B%5D%29.
如果你想要深色Bitmap
,
PorterDuff.Mode.DARKEN http://developer.android.com/reference/android/graphics/PorterDuff.Mode.html#DARKEN应该管用。您只需要校准COLOR
value:
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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)