基本信息
源码名称:Android studio中使用三种方法设置图片的过滤效果
源码大小:7.84M
文件格式:.rar
开发语言:Java
更新时间:2020-07-14
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 5 元×
微信扫码支付:5 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
在Android Studio中使用图像处理之颜色矩阵ColorMatrix算法实现Android手机中图片的滤镜效果。
import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.widget.ImageView; import android.widget.SeekBar; /** * Created by Administrator on 2020/3/17. */ public class PrimaryColor extends Activity implements SeekBar.OnSeekBarChangeListener { private ImageView image; private SeekBar seek_rorate, seek_saturation, seek_sacle; private final int MAX_VALUE = 255; private final int MID_VALUE = 127; private Bitmap bitmap; private float rorate, saturation, sacle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.primary_color_activity); initView(); initData(); } private void initData() { bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.photo); image.setImageBitmap(bitmap); seek_rorate.setMax(MAX_VALUE); seek_rorate.setProgress(MID_VALUE); seek_saturation.setMax(MAX_VALUE); seek_saturation.setProgress(MID_VALUE); seek_sacle.setMax(MAX_VALUE); seek_sacle.setProgress(MID_VALUE); //=== seek_rorate.setOnSeekBarChangeListener(this); seek_saturation.setOnSeekBarChangeListener(this); seek_sacle.setOnSeekBarChangeListener(this); } private void initView() { image = (ImageView) findViewById(R.id.image); //色相 seek_rorate = (SeekBar) findViewById(R.id.seek_rorate); //透明度 seek_saturation = (SeekBar) findViewById(R.id.seek_saturation); //亮度 seek_sacle = (SeekBar) findViewById(R.id.seek_sacle); } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { switch (seekBar.getId()) { case R.id.seek_rorate://色相 rorate = ((progress - MID_VALUE) * 1.0f / MID_VALUE * 180); break; case R.id.seek_sacle://亮度 sacle = progress * 1.0f / MID_VALUE; break; case R.id.seek_saturation://透明度 saturation = progress * 1.0f / MID_VALUE; break; } image.setImageBitmap(ImageHelper.handleImageEffect(bitmap, rorate, saturation, sacle)); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }