仿美图秀秀图片调色板

    xiaoxiao2021-12-14  19

    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); } }
    转载请注明原文地址: https://ju.6miu.com/read-971441.html

    最新回复(0)