图片色调饱和度、色相、亮度处理
2016-05-26 11:16
363 查看
package com.app.bigbang;
import java.util.ArrayList;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
public class TestActivity extends Activity implements OnSeekBarChangeListener{
private ToneLayer mToneLayer;
private ImageView mImageView;
private Bitmap mBitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
init();
}
private void init()
{
mToneLayer = new ToneLayer(this);
mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.back1);
mImageView = (ImageView) findViewById(R.id.img_view);
mImageView.setImageBitmap(mBitmap);
((LinearLayout)findViewById(R.id.tone_view)).addView(mToneLayer.getParentView());
ArrayList<SeekBar> seekBars = mToneLayer.getSeekBars();
for (int i = 0, size = seekBars.size(); i < size; i++)
{
seekBars.get(i).setOnSeekBarChangeListener(this);
}
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
// TODO Auto-generated method stub
int flag = (Integer) seekBar.getTag();
switch (flag)
{
case ToneLayer.FLAG_SATURATION:
mToneLayer.setSaturation(progress);
break;
case ToneLayer.FLAG_LUM:
mToneLayer.setLum(progress);
break;
case ToneLayer.FLAG_HUE:
mToneLayer.setHue(progress);
break;
}
mImageView.setImageBitmap(mToneLayer.handleImage(mBitmap, flag));
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
}
//Activity
package com.app.bigbang;
import java.util.ArrayList;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
public class TestActivity extends Activity implements OnSeekBarChangeListener{
private ToneLayer mToneLayer;
private ImageView mImageView;
private Bitmap mBitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
init();
}
private void init()
{
mToneLayer = new ToneLayer(this);
mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.back1);
mImageView = (ImageView) findViewById(R.id.img_view);
mImageView.setImageBitmap(mBitmap);
((LinearLayout)findViewById(R.id.tone_view)).addView(mToneLayer.getParentView());
ArrayList<SeekBar> seekBars = mToneLayer.getSeekBars();
for (int i = 0, size = seekBars.size(); i < size; i++)
{
seekBars.get(i).setOnSeekBarChangeListener(this);
}
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
// TODO Auto-generated method stub
int flag = (Integer) seekBar.getTag();
switch (flag)
{
case ToneLayer.FLAG_SATURATION:
mToneLayer.setSaturation(progress);
break;
case ToneLayer.FLAG_LUM:
mToneLayer.setLum(progress);
break;
case ToneLayer.FLAG_HUE:
mToneLayer.setHue(progress);
break;
}
mImageView.setImageBitmap(mToneLayer.handleImage(mBitmap, flag));
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
}
//布局
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/img_view"
android:layout_gravity="center"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tone_view"
android:orientation="vertical"
/>
</LinearLayout>
import java.util.ArrayList;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
public class TestActivity extends Activity implements OnSeekBarChangeListener{
private ToneLayer mToneLayer;
private ImageView mImageView;
private Bitmap mBitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
init();
}
private void init()
{
mToneLayer = new ToneLayer(this);
mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.back1);
mImageView = (ImageView) findViewById(R.id.img_view);
mImageView.setImageBitmap(mBitmap);
((LinearLayout)findViewById(R.id.tone_view)).addView(mToneLayer.getParentView());
ArrayList<SeekBar> seekBars = mToneLayer.getSeekBars();
for (int i = 0, size = seekBars.size(); i < size; i++)
{
seekBars.get(i).setOnSeekBarChangeListener(this);
}
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
// TODO Auto-generated method stub
int flag = (Integer) seekBar.getTag();
switch (flag)
{
case ToneLayer.FLAG_SATURATION:
mToneLayer.setSaturation(progress);
break;
case ToneLayer.FLAG_LUM:
mToneLayer.setLum(progress);
break;
case ToneLayer.FLAG_HUE:
mToneLayer.setHue(progress);
break;
}
mImageView.setImageBitmap(mToneLayer.handleImage(mBitmap, flag));
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
}
//Activity
package com.app.bigbang;
import java.util.ArrayList;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
public class TestActivity extends Activity implements OnSeekBarChangeListener{
private ToneLayer mToneLayer;
private ImageView mImageView;
private Bitmap mBitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
init();
}
private void init()
{
mToneLayer = new ToneLayer(this);
mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.back1);
mImageView = (ImageView) findViewById(R.id.img_view);
mImageView.setImageBitmap(mBitmap);
((LinearLayout)findViewById(R.id.tone_view)).addView(mToneLayer.getParentView());
ArrayList<SeekBar> seekBars = mToneLayer.getSeekBars();
for (int i = 0, size = seekBars.size(); i < size; i++)
{
seekBars.get(i).setOnSeekBarChangeListener(this);
}
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
// TODO Auto-generated method stub
int flag = (Integer) seekBar.getTag();
switch (flag)
{
case ToneLayer.FLAG_SATURATION:
mToneLayer.setSaturation(progress);
break;
case ToneLayer.FLAG_LUM:
mToneLayer.setLum(progress);
break;
case ToneLayer.FLAG_HUE:
mToneLayer.setHue(progress);
break;
}
mImageView.setImageBitmap(mToneLayer.handleImage(mBitmap, flag));
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
}
//布局
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/img_view"
android:layout_gravity="center"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tone_view"
android:orientation="vertical"
/>
</LinearLayout>
相关文章推荐
- JS中完美兼容各大浏览器的scrolltop方法
- golang 实现tcp转发代理
- Activity数据返回 startActivityForResult()用法详解
- 免安装版mysql 配置,启动
- 贪心算法:最优分解问题
- <OJ_Sicily>Forest
- .net 软件工程师面试题
- poj 2387 Til the Cows Come Home dijkstra
- C程序的内存布局
- Android使用控件ImageView加载图片的方法
- 解决eclipse中出现Resource is out of sync with the file system问题
- CentOS7 DHCP网络配置
- ScrollView嵌套listview的问题
- spring事务的传播属性(propagation attribute)和隔离级别(isolation level)
- Android学习系列(21)--App主界面实现
- Mysql自定义方法使用例子
- PendingIntent相关
- qwt6.1.2静态编译
- jni中arm64-v8a,armeabi-v7a,armeabi文件夹的意义和用法
- 终结(2009.8.7)