android获取图片的RGB颜色值

  最近需要修改一个算法,将原来的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 参数最好设置上,不然获取的图片宽高将和实际的有偏差

转载于:https://my.oschina.net/chengliqun/blog/117973

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值