android获取图片的RGB颜色值
16lz
2021-12-04
最近需要修改一个算法,将原来的j2se上的代码迁到android上,原来的算法是用到的颜色RGB提起需要下面几个android没有的包包:
import java.awt.color.ColorSpace;import java.awt.image.BufferedImage;import java.awt.image.WritableRaster;import javax.imageio.ImageIO;而在android上,我们只需通过bitmap来简单读取即可
先读取bitmap:
String path = "/mnt/sdcard/test2.png";BitmapFactory.Options op = new BitmapFactory.Options();op.inPreferredConfig = Bitmap.Config.ARGB_8888; Bitmap targetBitmap = BitmapFactory.decodeFile(path,op);然后,根据坐标获取像素,然后用Color来读取RGB即可:
int rgbPixel = targetBitmap.getPixel(x, y);Log.i("Value", "pixel: " + Integer.toHexString(rgbPixel));Log.i("Value", "rgb: r---" + Color.red(rgbPixel) + " g-- " + Color.green(rgbPixel) +" b--"+Color.blue(rgbPixel));另外,需要注意的是,获取bitmap时,BitmapFactory.Options 参数最好设置上,不然获取的图片宽高将和实际的有偏差
更多相关文章
- android项目案例6- 基于Android(安卓)studio的android用户注册
- Android疑惑记录-----在Adapter中配置按钮监听器时,列表项内容获
- android程序获取WIFI的IP地址和MAC地址
- Android取消EditText自动获取焦点默认行为
- Android提示版本更新的实现
- Android(安卓)之读取元素中的数据
- android中如何获取文件的路径总结
- Android(安卓)读取元素中的数据
- android Uri获取真实路径转换成File的方法