1

安卓新手。我不认为这里的任何问题与我的相同。

我已将图像加载到我的 res 文件夹中。我把它们放在一个可绘制的文件夹中。如何在 res.drawable 文件夹中获取名为 bb.png 的图像的像素?

我需要简单解释一下如何将图像文件放入变量中,以及我需要使用什么“getPixel(...)”命令。我不需要显示图像,只需从中获取像素数组,然后检查像素是黑色还是白色。任何帮助表示赞赏,谢谢!

麦克风

4

1 回答 1

4

其实真的很简单!

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);

一旦,你有一个Bitmap对象,有几个选项。

bm.getPixel(x,y)将返回与类中的anint对应的 an ,例如or 。intColorColor.BLACKColor.WHITE

此外,bm.copyPixelsToBuffer(Buffer destination)会将所有像素复制到一个Buffer对象中,您可以逐个像素地搜索该对象。

查看文档以获取更多详细信息。

位图文档

颜色文档

这是一个示例代码片段,假设您的 /res/drawable 文件夹中有一个名为“image”的图像。

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);
int pixelColor = bm.getPixel(10,10); //Get the pixel at coordinates 10,10

if(pixelColor == Color.BLACK) {
  //The pixel is black
}

else if(pixelColor == Color.WHITE) {
  //The pixel was white
}

显然,您应该小心获取像素。确保像素存在,并且坐标不大于图像。要获得 a 的尺寸Bitmap,只需分别使用bm.getHeight()bm.getWidth()

于 2012-11-09T19:12:51.123 回答