Android Bitmap改变了Hue

时间:2013-06-13 23:00:54

标签: java android colors bitmap hue

我有一个Android位图,我正在尝试更改图像的HUE,因为图像是红色块,我想通过更改HUE将该块更改为绿色,但我似乎无法在任何地方找到任何代码。

任何人都知道我该怎么做?

帆布

3 个答案:

答案 0 :(得分:1)

好吧,如果您只是"将红色变为绿色",您只需切换R和G颜色分量即可。原始,但可能为你做的工作。

.top-menu ul li

答案 1 :(得分:1)

如果将位图包装在ImageView中,则有一种非常简单的方法:

ImageView iv = new ImageView(this);
iv.setImageBitmap(yourBitmap);
iv.setColorFilter(Color.RED);

如果要在屏幕上显示它,您可能仍希望将其包装在ImageView中。

答案 2 :(得分:0)

我相信你不会找到一个简单的“色调”表盘来调整你的图像颜色。

最接近的近似值(并且可以使用ColorMatrix进行精细处理。

This question及其答案为这个问题提供了很多启示。

以下是ColorMatrix的technical description

ColorMatrix is a 5x4 matrix for transforming the color+alpha components of a Bitmap.
 The matrix is stored in a single array, and its treated as follows: 
  [ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t ] 

 When applied to a color [r, g, b, a], the resulting color is computed as (after clamping)
         R' = a*R + b*G + c*B + d*A + e;
         G' = f*R + g*G + h*B + i*A + j;
         B' = k*R + l*G + m*B + n*A + o;
         A' = p*R + q*G + r*B + s*A + t;