调色板

简单制作调色板  


    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SeekBar sb = (SeekBar) findViewById(R.id.sb);
        final ImageView iv = (ImageView) findViewById(R.id.iv);
        //找到原图
        final Bitmap srcBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.a1);

        //复制副本
        final Bitmap copyBitmap = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), srcBitmap.getConfig());

        //开始编辑
        final Canvas canvas=new Canvas(copyBitmap);

        final Matrix matrix=new Matrix();
           final Paint paint=new Paint();
           canvas.drawBitmap(srcBitmap, matrix, paint);


        //根据seekbar设置颜色

           sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

                @Override
                public void onStopTrackingTouch(SeekBar seekBar) {
                     // TODO Auto-generated method stub
                     int progress = seekBar.getProgress();
                     float val = progress / 50.0f;// val 值 0 ~ 1 ~ 2
                     //val 0~1 0.5 偏青
                     //val 1~2 1.5 偏红

                     //颜色数组,调色调
                     ColorMatrix cm = new ColorMatrix();
                     cm.set(new float[] {
                     1 , 0, 0, 0, 0, //红色R
                     0, 1* val, 0, 0, 0,  //绿色G
                     0, 0, 1, 0, 0,  //蓝色B
                     0, 0, 0, 1, 0   //透明度A
                     });
                     paint.setColorFilter(new ColorMatrixColorFilter(cm));

                     canvas.drawBitmap(srcBitmap, matrix, paint);
                     iv.setImageBitmap(copyBitmap);

                }

                @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

                }
           });


           //将图写入iv

        iv.setImageBitmap(copyBitmap);

    }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值