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

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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值