新到android。我不认为这里的任何问题与我的相同。
我已将图片加载到我的res文件夹中。我将它们放入一个可绘制的文件夹中。如何在res.drawable文件夹中获取名为bb.png的图像的像素?
我需要一个简单的解释,说明如何将图像文件转换为变量,以及' getPixel(...)'命令我需要使用。我不需要显示图像,只需从中获取像素阵列,并检查像素是黑色还是白色。感谢任何帮助,谢谢!
麦克
答案 0 :(得分:4)
实际上真的很容易!
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);
有一个Bitmap
对象,有几个选项。
bm.getPixel(x,y)
将返回与int
课程中的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
}
显然,你应该小心获得像素。确保像素存在,并且坐标不大于图像。要获得Bitmap
的维度,只需分别使用bm.getHeight()
和bm.getWidth()
。