我想编辑图片中间的像素,为此我需要x和y的双循环,每个循环代表图像位图的高度或重量。这是一个例子:
for(x = 0; x < bm.getWeight(); x++)
{
for(y = 0; y < bm.getHeight(); y++)
{
//
}
}
问题是getPixles方法是一个数组,其长度是权重*高度,然后循环看起来像:
int [] pixels = new int [bm.getWidth() * bm.getHeight()];
for(x = 0; y < pixels.length; x++)
{
//
}
我希望你们明白我要解释的是什么。 那么有没有办法将它分成双循环或用另一种方式获得中间像素? 非常感谢 ! :)
答案 0 :(得分:0)
试试这个:
int width = bm.getWidth();
int height = bm.getHeight();
int[] pixels = new int[width * height];
int curPixel;
for (int columnNum = 0; columnNum < width; columnNum++) {
for (int rowNum = 0; rowNum < height; rowNum++) {
curPixel = pixels[rowNum * width + columnNum];
// do stuff with curPixel
}
}