1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
for (int i = 0; i < image.getHeight(); ++i)
for (int j = 0; j < image.getWidth(); ++j) {
int real = image.getRGB(j,i);
int chosen = chooseColor(real);
image.setRGB(j,i,chosen);
int errorR = getError(getR(real),getR(chosen));
int errorG = getError(getG(real),getG(chosen));
int errorB = getError(getB(real),getB(chosen));
diffuseError(image,j - 1,i + 1,errorR,errorG,errorB,3.0f / 16.0f);
diffuseError(image,j,i + 1,errorR,errorG,errorB,5.0f / 16.0f);
diffuseError(image,j + 1,i + 1,errorR,errorG,errorB,1.0f / 16.0f);
diffuseError(image,j + 1,i,errorR,errorG,errorB,7.0f / 16.0f);
}
} |
Partager