在Android上实现图像颜色过滤与反转

您所在的位置:网站首页 图片黑白颜色反转软件叫什么软件 在Android上实现图像颜色过滤与反转

在Android上实现图像颜色过滤与反转

2024-07-09 19:16| 来源: 网络整理| 查看: 265

from: http://blog.csdn.net/jia20003/article/details/7169430

一:原理

Android已经提供了以resource形式加载图片,使用BitmapFactory的decodeResource

方法获取一个Bitmap对象,从Bitmap对象中读取图片的像素数组,基于像素ARGB值实现

颜色过滤和颜色反转。

 

颜色过滤(Color Filter)是值对RGB三种颜色通道,设定一个百分比数值,分别对三个颜

色通过提取百分比之后的数值。假设Red设置为0%就表示红色分量为0。

 

颜色反转(Color Invert)是指对原像素点的RGB三个值,分别减去255然后取绝对值,新的

RGB值将取代原来的值。

 

灰度过滤(Gray Filter)是指对一张RGB真彩色的图像转换为0 ~ 255灰度图像。

 

二:程序关键点解析

1.  如何在两个Intent之间传递值

在主Activity中使用如下代码启动Color Filter的Intent代码如下:

[java] view plain copy Intent settingUIIntent = new Intent(this, SettingsUIActivity.class);  startActivityForResult(settingUIIntent, ImageConstants.REQUEST_RGB_ID);   在主Activity中重载onActivityResult()方法实现参数传递和结果解析。

Color Filter的UI画面如下:

2.  Color Filter代码解析

[java] view plain copy // reduce the RGB  r = (int)((float)r * redPrecent);  g = (int)((float)g * greenPrecent);  b = (int)((float)b * bluePrecent);    // color convert  if(isColorInvert) {  r = 255 - r;  g = 255 - g;  b = 255 - b;  }     // write the pixel data back  pixelData[index] = (a 


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3