android 下滤镜效果的实现

滤镜过滤颜色已实现,简单版本可通过下面代码的3个参数实现黑白、红、绿。。。等7种过滤(RGB的7种组合)。

理论上讲可以过滤为任意颜色。调整混合结果的比值就行了。

public void drawBitmap(Canvas canvas, Bitmap bitmap, boolean r, boolean g, boolean b) {
ColorMatrix cm = new ColorMatrix();
float[] m = cm.getArray();
setColorFilterMatrix(m, r, g, b);
Paint pt = new Paint();
pt.setColorFilter(new ColorMatrixColorFilter(cm));
canvas.drawBitmap(bitmap, 0, 0, pt);
}

public void setColorFilterMatrix(float[] m, boolean r, boolean g, boolean b) {
final float R = 0.213f;
final float G = 0.715f;
final float B = 0.072f;

m[0] = 0;
m[6] = 0;
m[12] = 0;

if (r) {
m[0] = R; m[1] = G; m[2] = B;
}
if (g) {
m[5] = R; m[6] = G; m[7] = B;
}
if (b) {
m[10] = R; m[11] = G; m[12] = B;
}
}

时间: 2024-10-05 10:33:31

android 下滤镜效果的实现的相关文章

Android下将图片载入到内存中

Android的系统的标准默认每一个应用程序分配的内存是16M.所以来说是很宝贵的,在创建应用的时候要尽可能的去节省内存,可是在载入一些大的文件的时候,比方图片是相当耗内存的,一个1.3M的图片,分辨率是2560X1920(宽X高)图片当载入到手机内存的时候就会请求19M的一块内存,这是远远超出了系统自带的内存空间,这时候应用程序就会挂掉,所以我们要进行图片的缩放处理,以下我就来带大家创建一个用来图片缩放的应用: 应用效果图例如以下: 核心代码的实现: package com.examp.loa

fiddler Android下https抓包全攻略

fiddler Android下https抓包全攻略 fiddler的http.https的抓包功能非常强大,可非常便捷得对包进行断点跟踪和回放,但是普通的配置对于像招商银行.支付宝.陌陌这样的APP是抓不到包的,需要一些特殊的配置,本文把fiddler Android下https抓包的详细配置都罗列出来,供大家参考. 一.普通https抓包设置 先对Fiddler进行设置: 勾选“CaptureHTTPS CONNECTs”,接着勾选“Decrypt HTTPS traffic”.同时,由于我

Android下pm 命令详解

Sam在看相关PackageManager代码时,无意中发现Android 下提供一个pm命令,通常放在/system/bin/下.这个命令与Package有关,且非常实用.所以研究之.0. Usage: usage: pm [list|path|install|uninstall] pm list packages [-f] pm list permission-groups pm list permissions [-g] [-f] [-d] [-u] [GROUP] pm list ins

android下的单元测试

android下的单元测试 在AndroidManifest.xml文件中配置以下信息: 在manifest节点下添加: <!-- 指定测试信息和要测试的包 --> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.jxn.junittest" /> 在application节点下添加: <!

cocos搭建android下的开发环境

没想到cocos3.2也出现了一点bug,还要经过一周晚上的努力,全部搞定.可以在android下使用啦 上个截图庆祝下 有需要的可以看http://item.taobao.com/item.htm?id=40745006457 cocos搭建android下的开发环境,布布扣,bubuko.com

Android下EditText的hint的一种显示效果------FloatLabelLayout

效果: 此为EditText的一种细节,平时可能用的不多,但是用户体验蛮好的,特别是当注册页面的项目很多的时候,加上这种效果,体验更好 仅以此记录,仅供学习参考. 参考地址:https://gist.github.com/chrisbanes/11247418 采用的是Android 3.0的动画,所以有版本限制,可以用  nineoldandroids  做向下兼容 ,当然上面的网址也给了另一种方式做向下兼容. demo地址:http://download.csdn.net/detail/ab

Android下的动画

        ------你需要努力,你还没资格休息----- Android下的动画有三种: tween补间动画.frame帧动画.property属性动画(Android3.0后提出来的). 补间动画: Translation(平移).Rotation(旋转).Alpha(透明).Scale(缩放) 代码方式:透明动画AlphaAnimation alpha=new AlphaAnimation(0,1); alpha.setDuration(2000);//执行的时间 alpha.set

Android 下拉刷新上拉加载 多种应用场景 超级大放送(上)

转载请标明原文地址:http://blog.csdn.net/yalinfendou/article/details/47707017 关于Android下拉刷新上拉加载,网上的Demo太多太多了,这里不是介绍怎么去实现下拉刷新上拉加载,而是针对下拉刷新上拉加载常用的一些应用场景就行了一些总结,包含了下拉刷新上拉加载过程中遇到的一些手势冲突问题的解决方法(只能算是抛砖引玉). 去年9月的时候,那时自己正在独立做Android项目.记得刚刚写完那个ListView列表页面(木有下拉刷新,上拉加载)

Android下通过root实现对system_server中binder的ioctl调用拦截

Android下通过root实现对system_server中binder的ioctl调用拦截 分类: Android2013-06-19 18:09 779人阅读 评论(0) 收藏 举报 作 者: Passion时 间: 2012-10-18,13:53:53链 接: http://bbs.pediy.com/showthread.php?t=157419 Android下通过root实现对system_server中binder的ioctl调用拦截作者:passion2012-10-18关键