Photo Color adjustment and Photo Color adjustment
Package net. hnjdzy. imagecolor; import android. OS. bundle; import android. app. activity; import android. graphics. bitmap; import android. graphics. bitmapFactory; import android. graphics. canvas; import android. graphics. color; import android. graphics. colorMatrix; import android. graphics. colorMatrixColorFilter; import android. graphics. matrix; import android. graphics. paint; import android. view. menu; import android. widget. imageView; import android. widget. seekBar; import android. widget. seekBar. onSeekBarChangeListener; public class MainActivity extends Activity {private ImageView iv; private SeekBar sb1, sb2, sb3; private Canvas canvas; private Paint paint; private ColorMatrix cm; private Matrix matrix; private Bitmap b1, b2; @ Override protected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. activity_main); iv = (ImageView) findViewById (R. id. imageView1); sb1 = (SeekBar) findViewById (R. id. seekBar1); sb2 = (SeekBar) findViewById (R. id. seekBar2); sb3 = (SeekBar) findViewById (R. id. seekBar3); b1 = BitmapFactory. decodeResource (getResources (), R. drawable. fq); b2 = Bitmap. createBitmap (b1.getWidth (), b1.getHeight (), b1.getConfig (); canvas = new Canvas (b2); paint = new Paint (); paint. setColor (Color. BLACK); matrix = new Matrix (); paint. setAntiAlias (true); // color matrix cm = new ColorMatrix (); paint. setColorFilter (new ColorMatrixColorFilter (cm); canvas. drawBitmap (b1, matrix, paint); iv. setImageBitmap (b2); // change the value of R in RGB (new OnSeekBarChangeListener () {@ Override public void onStopTrackingTouch (SeekBar seekBar) {int progress = seekBar. getProgress (); cm. set (new float [] {progress/128.0f, 0, 0, 0, 0, 0}); paint. setColorFilter (new ColorMatrixColorFilter (cm); canvas. drawBitmap (b1, matrix, paint); iv. topology (b2) ;}@ Override public void onStartTrackingTouch (SeekBar seekBar) {// TODO Auto-generated method stub} @ Override public void onProgressChanged (SeekBar seekBar, int progress, boolean fromUser) {// TODO Auto-generated method stub}); // change the value of G in RGB sb2.setOnSeekBarChangeListener (new OnSeekBarChangeListener () {@ Override public void onStopTrackingTouch (SeekBar seekBar) {int progress = seekBar. getProgress (); cm. set (new float [] {, 0, 0, 0, progress/128.0f, 0, 0, 0, 0, 0}); paint. setColorFilter (new ColorMatrixColorFilter (cm); canvas. drawBitmap (b1, matrix, paint); iv. topology (b2) ;}@ Override public void onStartTrackingTouch (SeekBar seekBar) {// TODO Auto-generated method stub} @ Override public void onProgressChanged (SeekBar seekBar, int progress, boolean fromUser) {// TODO Auto-generated method stub}); // modify the value of B in RGB sb3.setOnSeekBarChangeListener (new OnSeekBarChangeListener () {@ Override public void onStopTrackingTouch (SeekBar seekBar) {int progress = seekBar. getProgress (); cm. set (new float [] {, 0, 0, 0, progress/128.0f, 0}); paint. setColorFilter (new ColorMatrixColorFilter (cm); canvas. drawBitmap (b1, matrix, paint); iv. topology (b2) ;}@ Override public void onStartTrackingTouch (SeekBar seekBar) {// TODO Auto-generated method stub} @ Override public void onProgressChanged (SeekBar seekBar, int progress, boolean fromUser) {// TODO Auto-generated method stub }});}}