Android编程之图片颜色处理方法

2019-12-10 19:55:55于海丽
  • 0, 0, 0, 1, 0 // 透明度   });  
  • paint.setColorFilter(new ColorMatrixColorFilter(cm));   canvas.drawBitmap(bitmap, matrix, paint);  
  • iv.setImageBitmap(updateBitmap);   }  
  • @Override  public void onStartTrackingTouch(SeekBar seekBar) {  
  • }   @Override 
  • public void onProgressChanged(SeekBar seekBar, int progress,   boolean fromUser) {  
  • }   });  
  • /**   * RGB三原色 蓝色值的设置  
  • */  sb3.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {  
  • @Override  public void onStopTrackingTouch(SeekBar seekBar) {  
  • int progress = seekBar.getProgress();   cm.set(new float[] { 1, 0, 0, 0, 0,// 红色值  
  • 0, 1, 0, 0, 0,// 绿色值   0, 0, progress / 128f, 0, 0,// 蓝色值  
  • 0, 0, 0, 1, 0 // 透明度   });  
  • paint.setColorFilter(new ColorMatrixColorFilter(cm));   canvas.drawBitmap(bitmap, matrix, paint);  
  • iv.setImageBitmap(updateBitmap);   }  
  • @Override  public void onStartTrackingTouch(SeekBar seekBar) {  
  • }   @Override 
  • public void onProgressChanged(SeekBar seekBar, int progress,   boolean fromUser) {  
  • }   });  
  • /**   * RGB三原色 三个值都改变为设置饱和度(亮度)  
  • */  sb4.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {  
  • @Override  public void onStopTrackingTouch(SeekBar seekBar) {  
  • int progress = seekBar.getProgress();   cm.set(new float[] { progress / 128f, 0, 0, 0, 0,// 红色值  
  • 0, progress / 128f, 0, 0, 0,// 绿色值   0, 0, progress / 128f, 0, 0,// 蓝色值  
  • 0, 0, 0, 1, 0 // 透明度   });