Steganogrphy source code

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)
  • //this is a function to crop the image to wanted width and height

  • {
    var resul=new SimpleImage(width,height);
    for(var pixel of img.values())
    {
    var x=pixel.getX();
    var y=pixel.getY();

    if(x {
    var p=resul.getPixel(x,y);
    p.setRed(pixel.getRed());
    p.setGreen(pixel.getGreen());
    p.setBlue(pixel.getBlue());
    }
    }
    return resul;
    }


    var mainimage=new SimpleImage("skyline.jpg");

    //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);