仿美图秀秀图片调色板

来源:互联网 发布:java算法 编辑:程序博客网 时间:2024/06/05 21:01
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 SeekBar sb_red;    private ImageView iv;    private Paint paint;    private Canvas canvas;    private Bitmap copyedBitmap;    private Bitmap srcBitmap ;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        sb_red = (SeekBar) findViewById(R.id.sb_red);        iv = (ImageView) findViewById(R.id.iv);        //        sb_red.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {            @Override            public void onStopTrackingTouch(SeekBar seekBar) {                //得到当前的位置                int progress = seekBar.getProgress();                float result = progress/50.0f;//得到变化的百分比                System.out.println("变化的百分比为:"+result);                //定义一个颜色指针                ColorMatrix cm = new ColorMatrix();                cm.set(new float[] {//设置指针                    1*result, 0, 0, 0, 0,                    0, 1, 0, 0, 0,                    0, 0, 1, 0, 0,                    0, 0, 0, 1, 0                });//通过调整 颜色的变化矩阵 得到 不同的颜色  矩阵放到画笔中                paint.setColorFilter(new ColorMatrixColorFilter(cm));                //以原图画出拷贝                canvas.drawBitmap(srcBitmap, new Matrix(), paint);                iv.setImageBitmap(copyedBitmap);            }            @Override            public void onStartTrackingTouch(SeekBar seekBar) {            }            @Override            public void onProgressChanged(SeekBar seekBar, int progress,                    boolean fromUser) {            }        });        srcBitmap = BitmapFactory.decodeFile("/mnt/sdcard/tu1.jpg");        iv.setImageBitmap(srcBitmap);        //得到原图的拷贝        copyedBitmap = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), srcBitmap.getConfig());        //以原图为模版        canvas = new Canvas(copyedBitmap);        //创建画笔        paint = new Paint();        paint.setColor(Color.BLACK);    }}
0 0
原创粉丝点击