? ?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);
? ?}