調色板

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

? ?}


圖片發自簡書App
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容