//The code assumes that the image supplied to the program has another image hidden in the lower four bits of each pixel\'s 8 bits.
var image = new SimpleImage("someImage.png");
print(image);
print("Extracting the hidden image now ...");
var extractedImage = extract(image);
print(extractedImage);
function extract(imageWithInImage){
var extractedImage = new SimpleImage(imageWithInImage.getWidth(), imageWithInImage.getHeight());
for(var pixel of extractedImage.values()){
var x = pixel.getX();
var y = pixel.getY();
var imageWithInImagePixel = imageWithInImage.getPixel(x, y);
var red = getLowerFourBits(imageWithInImagePixel.getRed());
var green = getLowerFourBits(imageWithInImagePixel.getGreen());
var blue = getLowerFourBits(imageWithInImagePixel.getBlue());
pixel.setRed(red);
pixel.setGreen(green);
pixel.setBlue(blue);
}
return extractedImage;
}
function getLowerFourBits(pixelValue){
//return (pixelValue * 16) % 256;
return pixelValue % 16 * 16;
}