获取像素RGB颜色精度

时间:2015-04-18 16:08:30

标签: android colors camera imageview getpixel

我可以请某人查看我的代码吗?它是一个Android应用程序,它查看位图中心的像素并向用户显示值。当我在网上查看它们时,结果似乎不准确,通常显得偏蓝或偏黑。代码中缺少什么?我需要对xml中的imageview做些什么,或者你认为它与手机硬件有关吗?我尝试了sony m2和sony mini

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);
    Bitmap bp = (Bitmap) data.getExtras().get("data");
    imgFavorite.setImageBitmap(bp);
}

public void pix(){
    operation= Bitmap.createBitmap(bmp.getWidth(),
            bmp.getHeight(),bmp.getConfig());

    int height = bmp.getHeight();
    int width = bmp.getWidth();
    int p = bmp.getPixel(height / 2, width / 2);

    int r = Color.red(p);
    int g = Color.green(p);
    int b = Color.blue(p);

    Toast.makeText(this, String.valueOf(r) + String.valueOf(g) + String.valueOf(b), Toast.LENGTH_LONG).show();
}

1 个答案:

答案 0 :(得分:0)

图像在各种设备或显示设置上可能会有所不同,但这些像素应保持不变。因此,您可以尝试使用bmp.getConfig()Bitmap.Config中的其他几个配置替换Bitmap.Config.ARGB_8888。此配置确定像素的存储方式并影响颜色深度。

如果你的图像没有填满ImageView容器,那么它可能是扩展问题。