function flooring(value) { var x= Math.floor(value/16) *16; return x; } function mainmodify(img)
//as this is the main image in which an image is to be hidden, we modify this picture's pixels //by floor method above.
{ for(var pixel of img.values()) { pixel.setRed(flooring(pixel.getRed()) ); pixel.setGreen(flooring(pixel.getGreen()) ); pixel.setBlue(flooring(pixel.getBlue()) ); } return img; } function hidemodify(img)//as this is the picture to be hidden we modify this picture with math below
{ for(var pixel of img.values() ) { pixel.setRed(Math.floor(pixel.getRed())/16); pixel.setGreen(Math.floor(pixel.getGreen())/16); pixel.setRed(Math.floor(pixel.getRed())/16); } return img; } function combine(img1,img2)//to hide one picture in other
{ var result=new SimpleImage(img1.getWidth(),img2.getHeight()); for(var pixel of result.values()) { var x=pixel.getX(); var y=pixel.getY(); var res=img1.getPixel(x,y); var res1=img2.getPixel(x,y); pixel.setRed(res.getRed()+res1.getRed()); pixel.setGreen(res.getGreen()+res1.getGreen()); pixel.setBlue(res.getBlue()+res1.getBlue()); } return result; } function extract(img1)//to extract the hidden image from the picture
{ for(var pixel of img1.values()) { pixel.setRed((pixel.getRed()%16)*16); pixel.setGreen((pixel.getGreen()%16)*16); pixel.setBlue((pixel.getBlue()%16)*16); } return img1; } function crop(img,width,height)//taking the main image in which an image is hid
var hideimage=new SimpleImage("usain.jpg");//taking a image which is to be hidden
//below is th calling of functions and using them
mainimage=mainmodify(mainimage); hideimage=hidemodify(hideimage); var combined=combine(mainimage,hideimage); var extracted=extract(combined); var imgcrp=new SimpleImage("smallpanda.png"); var croped=crop(imgcrp,200,150);//below is to prnt the image which we modified above
print(combined);