Skip to content
Snippets Groups Projects
Commit 0b51acff authored by Teo Blaise Kaplanski's avatar Teo Blaise Kaplanski
Browse files

finito

parent b226473d
No related branches found
No related tags found
No related merge requests found
...@@ -8,9 +8,11 @@ public interface GrayImage extends Image { ...@@ -8,9 +8,11 @@ public interface GrayImage extends Image {
GrayColor getDominantGray(int squareX, int squareY, int squareSize); GrayColor getDominantGray(int squareX, int squareY, int squareSize);
default int dominantGray(int squareX, int squareY, int squareSize) { default int dominantGray(int squareX, int squareY, int squareSize) {
int sumOfGrayLevels = 0; int sumOfGrayLevels = 0;
for (int x = squareX; x < squareX+squareSize; ++x) for (int x = squareX; x < squareX+squareSize; ++x)
for (int y = squareY; y < squareY+squareSize; ++y) for (int y = squareY; y < squareY+squareSize; ++y)
sumOfGrayLevels += getPixelGrayColor(x, y).getGrayLevel(); sumOfGrayLevels += getPixelGrayColor(x, y).getGrayLevel();
return (sumOfGrayLevels / (squareSize*squareSize)); return (sumOfGrayLevels / (squareSize*squareSize));
} }
} }
public class Pixelate implements Transform { public class Pixelate implements Transform {
int newPixelSize; int newPixelSize;
int newSquareX;
int newSquareY; int newSquareY;
int newSquareX;
GrayColor dominantColor; GrayColor dominantColor;
Pixelate(int newPixelSize){ Pixelate(int newPixelSize){
this.newPixelSize = newPixelSize; this.newPixelSize = newPixelSize;
} }
...@@ -11,13 +13,14 @@ public class Pixelate implements Transform { ...@@ -11,13 +13,14 @@ public class Pixelate implements Transform {
public void applyTo(GrayImage image) { public void applyTo(GrayImage image) {
for (int x = 0; x < (image.getWidth()) / newPixelSize; ++x) { for (int x = 0; x < (image.getWidth()) / newPixelSize; ++x) {
for (int y = 0; y < (image.getHeight()) / newPixelSize; ++y) { for (int y = 0; y < (image.getHeight()) / newPixelSize; ++y) {
newSquareX = x * newPixelSize;
newSquareY = y * newPixelSize; newSquareY = y * newPixelSize;
newSquareX = x * newPixelSize;
dominantColor = image.getDominantGray(newSquareX, newSquareY, newPixelSize); dominantColor = image.getDominantGray(newSquareX, newSquareY, newPixelSize);
for (int squareX = 0; squareX < newPixelSize; ++squareX){ for (int squareX = 0; squareX < newPixelSize; ++squareX){
for (int squareY = 0; squareY < newPixelSize; ++squareY ){ for (int squareY = 0; squareY < newPixelSize; ++squareY ){
int X = newSquareX + squareX;
int Y = newSquareY + squareY; int Y = newSquareY + squareY;
int X = newSquareX + squareX;
image.setPixel(dominantColor, X, Y); image.setPixel(dominantColor, X, Y);
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment