Android 实现把bitmap图片的某一部分的颜色改成其他颜色 在 Android 开发中,bitmap 图片处理是一个非常重要的方面,特别是在图片颜色修改方面,今天我们将介绍如何实现把 bitmap 图片的某一部分的颜色改成其他颜色。 我们需要了解什么是 bitmap 图片,bitmap 图片是一种图像存储格式,它将图像分割成一个个像素,然后将每个像素的颜色值存储在内存中,以便于图像的处理和显示。 在 Android 中,我们可以使用 Bitmap 类来处理 bitmap 图片,该类提供了多种方法来处理 bitmap 图片,例如 getPixels() 方法可以获取 bitmap 图片的像素颜色值,setPixels() 方法可以设置 bitmap 图片的像素颜色值。 现在,让我们来实现把 bitmap 图片的某一部分的颜色改成其他颜色,我们需要获取 bitmap 图片,然后遍历每个像素,获取其颜色值,然后根据需要修改颜色值,最后将修改后的颜色值设置回去。 下面是实现代码: ```java private Bitmap ChangeBitmap(Bitmap bitmap){ int bitmap_h; int bitmap_w; int mArrayColorLengh; int[] mArrayColor; int count = 0; mArrayColorLengh = bitmap.getWidth() * bitmap.getHeight(); mArrayColor = new int[mArrayColorLengh]; bitmap_w=bitmap.getWidth(); bitmap_h =bitmap.getHeight(); int newcolor=-1; for (int i = 0; i < bitmap.getHeight(); i++) { for (int j = 0; j < bitmap.getWidth(); j++) { //获得Bitmap 图片中每一个点的color颜色值 int color = bitmap.getPixel(j, i); //将颜色值存在一个数组中 方便后面修改 // mArrayColor[count] = color; int r = Color.red(color); int g = Color.green(color); int b = Color.blue(color); int a =Color.alpha(color); if ((90<r&&r<=200)&&(90<g&&g<=200)&&(90<b&&b<=200)){//大概得把非道路(路旁变透明) a=0; Log.i("imagecolor","============"+color); }else if (r==255&&g==255&&b==33){//把黄色的箭头白色 因为黄色箭头rgb大部分是255 255 33(值可以用画图工具取值) 组合 // 但是还有小部分有别的值组成(箭头所不能变成全白有黄色斑点) r=255; g=255; b=255; } color = Color.argb(a, r, g, b); mArrayColor[count]=color; Log.i("imagecolor","============"+ mArrayColor[count]); count++; } } mbitmap = Bitmap.createBitmap( mArrayColor, bitmap_w, bitmap_h, Bitmap.Config.ARGB_4444 ); return mbitmap; } ``` 在上面的代码中,我们首先获取 bitmap 图片的宽度和高度,然后遍历每个像素,获取其颜色值,然后根据需要修改颜色值,最后将修改后的颜色值设置回去。 在 Android 中,我们还需要了解图片的适配问题,Android 使用匹配机制来适配不同分辨率的图片,主要是通过 dpi(Dots Per Inch)来实现的,dpi 是每英寸的像素点数量,dp(density-independent pixel)是密度无关像素,当 dpi 为 160 时,1dp=1px,当 dpi 为 320 时,1dp=2px,以此类推。图片的规格通常是 px*px,例如 270*480 像素的图片。 在 Android 中,我们可以使用以下代码来计算 dpi: ```java float xdpi = getResources().getDisplayMetrics().xdpi; float ydpi = getResources().getDisplayMetrics().ydpi; ``` dpi 的计算方法是,height 和 width 分别是手机宽和高对应的 px 数量,size 代表平常所说的 5 英寸手机中的数字 5,即英寸。




















- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整
- emmmmmmT2020-11-11垃圾,和网上公开的帖子一样,只是复制过来做成pdf

- 粉丝: 7
- 资源: 971
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 9.C语言程序设计--个人账簿管理系统.pdf
- 7.C语言程序设计--超市商品信息管理系统.pdf
- 8.C语言程序设计--图书管理系统.pdf
- 4.C语言程序设计--商品信息管理.pdf
- 5.C语言程序设计--通讯录.pdf
- 6.C语言程序设计--书店管理系统.pdf
- 10.C语言程序设计--图书信息管理系统.pdf
- 12.C语言程序设计--教师信息管理系统.pdf
- 11.C语言程序设计--职工工资管理系统.pdf
- 13.C语言程序设计--期刊管理系统.pdf
- 15.C语言程序设计--订餐系统.pdf
- 14.C语言程序设计--二手房信息管理系统.pdf
- 18.C语言程序设计--学生成绩管理系统.pdf
- 16.C语言程序设计--通讯录系统.pdf
- 17.C语言程序设计--停车场信息管理系统.pdf
- 19.C语言程序设计--体测成绩信息管理系统.pdf


