Android photo color change
来源:互联网 发布:linux 同步时区命令 编辑:程序博客网 时间:2024/06/09 17:23
activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:orientation="vertical"> <ImageView android:id="@+id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <SeekBar android:id="@+id/sb1" android:max="255" android:layout_width="match_parent" android:layout_height="wrap_content" /> <SeekBar android:id="@+id/sb2" android:max="255" android:layout_width="match_parent" android:layout_height="wrap_content" /> <SeekBar android:id="@+id/sb3" android:max="255" android:layout_width="match_parent" android:layout_height="wrap_content" /> <SeekBar android:id="@+id/sb4" android:max="255" android:layout_width="match_parent" android:layout_height="wrap_content" /></LinearLayout>see the MainActivity.java:
package com.example.photocolorchange;import android.os.Bundle;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.ColorFilter;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 ImageView iv1;private SeekBar sb1,sb2,sb3,sb4;private Bitmap alertBitmap;private Canvas canvas;private Paint paint;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);iv1 = (ImageView)findViewById(R.id.iv);final Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.shuishou); alertBitmap = Bitmap.createBitmap(bitmap1.getWidth(),bitmap1.getHeight(),bitmap1.getConfig()); paint = new Paint(); canvas = new Canvas(alertBitmap);final Matrix matrix = new Matrix();final ColorMatrix cm = new ColorMatrix();paint.setColorFilter(new ColorMatrixColorFilter(cm));paint.setAntiAlias(true);canvas.drawBitmap(bitmap1, matrix, paint);iv1.setImageBitmap(alertBitmap);sb1 = (SeekBar) findViewById(R.id.sb1);sb2 = (SeekBar) findViewById(R.id.sb2);sb3 = (SeekBar) findViewById(R.id.sb3);sb4 = (SeekBar) findViewById(R.id.sb4);//REDsb1.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {int progress = seekBar.getProgress();cm.set(new float[]{progress/128.0f,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(bitmap1, matrix, paint);}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {// TODO Auto-generated method stub}});//GREENsb2.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {int progress = seekBar.getProgress();cm.set(new float[]{1,0,0,0,0,0,progress/128.0f,0,0,0,0,0,1,0,0,0,0,0,1,0,});paint.setColorFilter(new ColorMatrixColorFilter(cm));canvas.drawBitmap(bitmap1, matrix, paint);iv1.setImageBitmap(alertBitmap);}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {// TODO Auto-generated method stub}});//BLUEsb3.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {int progress = seekBar.getProgress();cm.set(new float[]{1,0,0,0,0,0,1,0,0,0,0,0,progress/128.0f,0,0,0,0,0,1,0,});paint.setColorFilter(new ColorMatrixColorFilter(cm));canvas.drawBitmap(bitmap1, matrix, paint);iv1.setImageBitmap(alertBitmap);}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {// TODO Auto-generated method stub}});//sensitometrysb4.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {int progress = seekBar.getProgress();cm.set(new float[]{progress/128.0f,0,0,0,0,0,progress/128.0f,0,0,0,0,0,progress/128.0f,0,0,0,0,0,1,0,});//cm.setSaturation(progress/128.0f); //saturabilitypaint.setColorFilter(new ColorMatrixColorFilter(cm));canvas.drawBitmap(bitmap1, matrix, paint);iv1.setImageBitmap(alertBitmap);}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {// TODO Auto-generated method stub}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
final result:
0 0
- Android photo color change
- Android change background color smoothly
- Change Color
- change color demo
- change color 001
- highcharts dynamic change line color
- change dir color in terminal
- change background color in chrome
- (Android) Photo Crop
- How to change the Text color of Menu item in Android?
- photo
- photo
- photo
- Photo
- photo
- photo
- photo
- photo
- 相信未来-毕业三年(2)
- 杭电acm 2032
- Java设计模式之从[游戏场景读取]分析代理(Proxy)模式
- canvas实现简单的画笔功能
- Leetcode: Word Ladder II
- Android photo color change
- stl hash_map 详细说明
- 金山实习笔试题(湖南大学站)略解,有源码有真相
- Phonebloks
- 他从滴水洞中走来(其三)
- 黑马程序员_java_构造_多态_单例_继承_静态
- hdu Largest prime factor
- 第十一届浙江省大学生程序设计竞赛小结
- Nginx 常见应用技术指南(Nginx Tips)