安卓新手。我不认为这里的任何问题与我的相同。
我已将图像加载到我的 res 文件夹中。我把它们放在一个可绘制的文件夹中。如何在 res.drawable 文件夹中获取名为 bb.png 的图像的像素?
我需要简单解释一下如何将图像文件放入变量中,以及我需要使用什么“getPixel(...)”命令。我不需要显示图像,只需从中获取像素数组,然后检查像素是黑色还是白色。任何帮助表示赞赏,谢谢!
麦克风
其实真的很简单!
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);
一旦,你有一个Bitmap
对象,有几个选项。
bm.getPixel(x,y)
将返回与类中的anint
对应的 an ,例如or 。int
Color
Color.BLACK
Color.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()
。