This article illustrates the image color processing method of Android programming. Share to everyone for your reference, specific as follows:
Do you want to be able to handle your own photos and beautify your photos as you do with the beautiful Mito? In fact, you can do one of these software, nonsense not to say, directly on the map, on the code!
Package net.loonggg.test;
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.os.Bundle;
Import Android.widget.ImageView;
Import Android.widget.SeekBar;
Import Android.widget.SeekBar.OnSeekBarChangeListener;
public class Mainactivity extends activity {private SeekBar sb1, SB2, SB3, SB4, SB5;
Private ImageView IV;
Private Bitmap Bitmap, Updatebitmap;
Private Canvas Canvas;
Private Paint Paint;
@Override protected void OnCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate);
Setcontentview (R.layout.activity_main);
IV = (ImageView) Findviewbyid (R.ID.IV);
SB1 = (SeekBar) Findviewbyid (R.ID.SB1);
SB2 = (SeekBar) Findviewbyid (R.ID.SB2); Sb3= (SeekBar) Findviewbyid (R.ID.SB3);
SB4 = (SeekBar) Findviewbyid (R.ID.SB4);
SB5 = (SeekBar) Findviewbyid (R.ID.SB5);
Bitmap = Bitmapfactory.decoderesource (Getresources (), r.drawable.b);
Updatebitmap = Bitmap.createbitmap (Bitmap.getwidth (), Bitmap.getheight (), Bitmap.getconfig ());
Canvas = new canvas (UPDATEBITMAP);
Paint = new paint ();
Final ColorMatrix cm = new ColorMatrix ();
Paint.setcolorfilter (new Colormatrixcolorfilter (cm));
Paint.setcolor (Color.Black);
Paint.setantialias (TRUE);
Final Matrix matrix = new Matrix ();
Canvas.drawbitmap (bitmap, matrix, paint);
Iv.setimagebitmap (UPDATEBITMAP);
/** * RGB Three-color red value setting/Sb1.setonseekbarchangelistener (new Onseekbarchangelistener () {@Override
public void Onstoptrackingtouch (SeekBar SeekBar) {int progress = seekbar.getprogress (); Cm.set (new float[] {progress/128f, 0, 0, 0, 0,//red value 0, 1, 0, 0, 0,//Green value
0, 0, 1, 0, 0,//blue value 0, 0, 0, 1, 0//transparency});
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 Three-color green value setting/Sb2.setonseekbarchangelistener (new Onseekbarchangelistener () {@Override
public void Onstoptrackingtouch (SeekBar SeekBar) {int progress = seekbar.getprogress (); Cm.set (New float[] {1, 0, 0, 0, 0,//red value 0, progress/128f, 0, 0, 0,//green value 0, 0, 1, 0, 0,//Blue
Values 0, 0, 0, 1, 0//transparency});
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 Three primary color blue value setting/Sb3.setonseekbarchangelistener (new Onseekbarchangelistener () {@Override
public void Onstoptrackingtouch (SeekBar SeekBar) {int progress = seekbar.getprogress (); Cm.set (New float[] {1, 0, 0, 0, 0,//red value 0, 1, 0, 0, 0,//green value 0, 0, progress/128f, 0, 0,//Blue
Values 0, 0, 0, 1, 0//transparency});
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 Three primary Colors three values are changed to set saturation (brightness)/Sb4.setonseekbarchangelistener (new Onseekbarchangelistener () {@O
Verride public void Onstoptrackingtouch (SeekBar SeekBar) {int progress = seekbar.getprogress (); Cm.set (new float[] {progress/128f, 0, 0, 0, 0,//red value 0, progress/128f, 0, 0, 0,//green value 0, 0
, progress/128f, 0, 0,//blue value 0, 0, 0, 1, 0//transparency});
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 Three primary Colors set Transparency * * Sb5.setonseekbarchangelistener (new Onseekbarchangelistener () {@Override public void Onstoptrackingtouch (SeekBar SeekBar) {int progress = seekbar.getprogress ();
Cm.set (New float[] {1, 0, 0, 0, 0,//red value 0, 1, 0, 0, 0,//green value 0, 0, 1, 0, 0,//blue value
0, 0, 0, progress/128f, 0//transparency});
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) {}});
}
}
I hope this article will help you with the Android program.