【问题标题】:getpixel RGB colour accuracygetpixel RGB 颜色精度
【发布时间】:2015-04-18 16:08:29
【问题描述】:

我可以请人检查我的代码吗?它是一个 android 应用程序,它查看位图中心的像素并将值显示给用户。当我在网上查找结果时,结果似乎不准确,通常呈蓝色或黑色。代码中是否缺少某些内容?我需要对 xml 中的 imageview 做些什么,还是你认为它与手机硬件有关?我试过索尼 m2 和索尼 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();
}

【问题讨论】:

  • 什么看起来不准确?图像在 imgFavorite 或 r,g,b 值中的显示方式?
  • 主要问题是 rgb 值,虽然图像外观有点偏离,因为它填充了较小的索尼 mini 上的图像视图,但由于某种原因在较大的索尼 m2 中采用矩形形状

标签: android colors camera imageview getpixel


【解决方案1】:

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

如果您的图像没有填满 ImageView 容器,则可能是缩放问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    相关资源
    最近更新 更多