【发布时间】:2020-10-02 09:23:10
【问题描述】:
我正在从图像中加载像素。 对于我检查颜色并创建图像的每个像素,我现在想将此图像添加到二维数组中。
int MAPWIDTH = 64; // in pixels
int MAPHEIGHT = 16; // in pixel
PImage[][] forGroundMap;
PImage file = loadImage(path);
file.loadPixels();
int size = file.width * file.height;
for (int i = 0; i < size; i++) {
int y = divideBy(i, MAPWIDTH);
//forGroundMap[y][x] == something what is x and y here
}
供参考:图像始终为 64 高和 32 宽。
为了获得位置,我尝试将当前迭代除以宽度,以了解我当前所在的行。
int divideBy(int number, int timesIn) {
int count = 0;
while (number >= timesIn) {
number = number - timesIn;
count++;
println(number);
}
return count;
}
但是,这并没有将我的行内的列归还给我,而且我不确定这是否会起作用以及如何继续前进。
【问题讨论】:
-
PImage image根本没有被使用。 -
不确定你在问什么,但
MAPWIDTH的值是什么, -
假设您有一个包含行和列的大表,但您只知道所在行 * 列的编号。我需要知道我在哪一行和哪一列。
-
好吧,摆脱不属于问题的内容,因为根据您的编码和发布的内容,不可能猜出您在问什么。不想刻薄,但不能以目前的格式提供帮助。
-
我编辑了我的代码,我需要知道二维数组的行和列,因为我只有一些像素位置。我遍历图像中的每个像素,我想将每个像素设置在 2d 数组中
标签: java math multidimensional-array processing pixel