Android提供了强大的颜色过滤器来进行颜色处理,ColorMetrixColorFilter通过一个4*5的矩阵来创建颜色过滤器,从而改变图片的信息。
{1,0,0,0,0, //red 1*R + 0*G + 0*B + 0*A + 0
0,1,0,0,0, //green 0*R + 1*G + 0*B + 0*A + 0
0,0,1,0,0, //blue 0*R + 0*G + 1*B + 0*A + 0
0,0,0,1,0 } //alpha 0*R + 0*G + 0*B + 1*A + 0
颜色矩阵的每一行的最后一个值更改时,其对于的颜色就会发生改变。因此更改颜色只需修改对应颜色矩阵的最后一个值,最大范围是255.
下面是一个简单的示例:
布局文件是一个垂直的LinerLayout加了四个水平的LinerLayout,此处省略。
java文件如下:
public class MainActivity extends AppCompatActivity implements SeekBar.OnSeekBarChangeListener {
private ImageView imageView;
private String name = "example.jpg";
private SeekBar sbRed;
private SeekBar sbGreen;
private SeekBar sbBlue;
private SeekBar