android 图片过滤,android 图片转为bitmap,黑白镜过滤
图片转bitmap
1.获取图片资源
Bitmap bitmap= BlackWhite(BitmapFactory.decodeResource(getResources(), R.mipmap.test, null));
2.sd卡(要获取权限 文件和读写权限)
String fileName=Environment.getExternalStorageDirectory().getAbsolutePath()+"/tencent/MicroMsg/WeiXin/test.jpeg";
Bitmap bit = BitmapFactory.decodeFile(fileName);
下面是黑白镜过滤的方法
public static Bitmap BlackWhite(Bitmap bitmap) {
int w = bitmap.getWidth();
int h = bitmap.getHeight();
Bitmap resultBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.RGB_565);
int color = 0;
int a, r, g, b, r1, g1, b1;
int[] oldPx = new int[w * h];
int[] newPx = new int[w * h];
bitmap.getPixels(oldPx, 0, w, 0, 0, w, h);
for (int i = 0; i < w * h; i++) {
color = oldPx[i];
r = Color.red(color);
g = Color.green(color);
b = Color.blue(color);
a = Color.alpha(color);
//黑白矩阵
r1 = (int) (0.33 * r + 0.59 * g + 0.11 * b);
g1 = (int) (0.33 * r + 0.59 * g + 0.11 * b);
b1 = (int) (0.33 * r + 0.59 * g + 0.11 * b);
//检查各像素值是否超出范围
if (r1 > 255) {
r1 = 255;
}
if (g1 > 255) {
g1 = 255;
}
if (b1 > 255) {
b1 = 255;
}
newPx[i] = Color.argb(a, r1, g1, b1);
}
resultBitmap.setPixels(newPx, 0, w, 0, 0, w, h);
return resultBitmap;
}
下面这个方法也是可以的
public static Bitmap getGrayBitmap(Bitmap bm){
Bitmap bitmap = null;
//获取图片的宽和高
int width = bm.getWidth();
int height = bm.getHeight();
//创建灰度图片
bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
//创建画布
Canvas canvas = new Canvas(bitmap);
//创建画笔
Paint paint = new Paint();
//创建颜色矩阵
ColorMatrix matrix = new ColorMatrix();
//设置颜色矩阵的饱和度:0代表灰色,1表示原图
matrix.setSaturation(0);
//颜色过滤器
ColorMatrixColorFilter cmcf = new ColorMatrixColorFilter(matrix);
//设置画笔颜色过滤器
paint.setColorFilter(cmcf);
//画图
canvas.drawBitmap(bm, 0,0, paint);
return bitmap;
}
android 图片过滤,android 图片转为bitmap,黑白镜过滤相关推荐
- 将Android布局转成图片,并保存到本地(解决JPEG图片因透明度变黑问题)
最新碰到个需求,就是将布局转成图片导出,后来想到可以用view.draw(canvas)方法,将布局转为图片. 将布局转为bitmap public Bitmap getBitmap(View vie ...
- Android 超清大尺寸图片压缩转Base64中卡顿/速度优化问题整理(在子线程压缩Bitmap卡的主线程进度条走不动了。。。)
最近遇到需求是前后端传输图片使用的是Base64,但是前端(Android 端)图片很大(尺寸很大4480 × 2520,质量也很大7-10M),需要压缩到一定尺寸(1280 × 960,当然还可以压 ...
- android图片适配(图片大小与屏幕密度)Bitmap占用内存计算
目录 概述 dpi 计算公式 dp与px换算公式: android系统适配图片规律: 同名图片放在不同密度的文件夹下,系统选择图片规律 同一张图片,放在不同密度的Drawable文件夹下,ImageV ...
- android bitmap显示图片,Android_07 Android中Bitmap加载图片
一:计算机表示图形的几种方式 二:Android加载大图片 原理: [1]获取手机分辨率 [2]获取图片分辨率 创建位图工厂的配置参数 获取图片宽高 [3]计算缩放比例 [4]显示缩放后的图片 示例代 ...
- android intent拍照,Android通过Intent方式调用相机拍照取得图片
Android通过Intent方式调用相机拍照取得图片 AndroidManifest.XML 权限设置: XML布局设置: 代码: public classMainActivityextendsAp ...
- android 底部圆角,android 实现部分圆角图片
需求 recyclerview 展示商品需要显示大量的图片,图片只需要顶部的角是圆角,底部的角是直角 遇到的问题 早期的时候我写过一个实现圆角的图片方式,但是有问题.滑动图片列表发现滑动卡顿,是因为我 ...
- Android平台下的图片/视频转Ascii码图片/视频 (一)
前一阵看鸿洋公众号日推,看到一个几年前就感觉有意思的一个技术,那就是图片转Ascii码,记得上大学时玩过windows的图片或视频转ascii码,可惜那个软件不好用,有bug,转视频的时候动不动就卡死 ...
- Android向服务器发送图片(一)
Android向服务器发送图片(一) 作为一个Android菜鸟,花了好久时间才搞定的发送图片功能,特在此写下,希望对后者有帮助.先说说我的思路:在Android通过相册选择图片,然后利用Base64 ...
- android 音乐播放器专辑图片旋转,Android应用开发之简易、大气音乐播放器实现专辑倒影效果...
今天要实现的功能是实现专辑倒影效果,这个功能已经属于图像处理方面的了,对图像处理我不怎么在行,等一下会介绍一个很实用的工具类,专门用来进行图像处理的.这个工具类不是我写的,我只是拿来用到自己的项目当中 ...
最新文章
- 【问题记录】解决npm 报错This dependency was not found: A complete log of this run can be found in:
- [转]LESS CSS 框架简介
- 加减法叫做什么运算_小学四则运算基础知识,赶快给孩子存下吧!
- Hibernate中的JPA 2.1条件删除/更新和临时表
- 【渝粤题库】陕西师范大学292961 会计学 作业 (高起专)
- java channelpipeline,Netty那点事(三)Channel与Pipeline
- 点广告才可以下载的代码
- 刘世锦:引入区块链等相关技术建立政府、企业和个人的绿色责任账户
- 交换两个数不是三个数。
- 用bat命令重启explorer的方法
- 产生式系统——动物识别系统
- wifi分析仪android 9,Wifi分析仪(无线信号检测)
- photoshop cs6中画虚线的设置
- 09.计算机网络之p2p应用
- 设计一个排序和查找系统。能够实现对给定的一组学生的借书证信息(如:卡号、姓名、系别、班号等)进行排序和查找。
- 嵌入式编程中boot和app的s19简易合并方法(使用mfc编程)
- 数字孪生3D可视化,人员定位系统助力企业数字化转型
- 【python】修改文件后缀,将JPG转换为PNG/PNG转换为JPG
- git的学习笔记(一):git本地操作
- OS 临界资源、独占资源、临界区