您的位置:首页 > 其它

图片色调饱和度、色相、亮度处理

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: