// write your code here
var originalImage = new SimpleImage("duvall.jpg");
print(originalImage);
var xTimesBigger = 2;
var resultImage = makeXTimesBigger(originalImage, xTimesBigger);
print(resultImage);
function makeXTimesBigger(originalImage, xTimesBigger){
var resultImage = new SimpleImage(originalImage.getWidth()*xTimesBigger, originalImage.getHeight()*xTimesBigger);
for(var resultPixel of resultImage.values()){
var x = Math.floor(resultPixel.getX()/xTimesBigger);
var y = Math.floor(resultPixel.getY()/xTimesBigger);
var originalPixel = originalImage.getPixel(x, y);
resultPixel.setRed(originalPixel.getRed());
resultPixel.setGreen(originalPixel.getGreen());
resultPixel.setBlue(originalPixel.getBlue());
}
return resultImage;
}
/////////
//Another version where we make a picture ourselves using four different colors.
var inImage = new SimpleImage(100, 100);
var inImageWidth = inImage.getWidth();
var inImageHeight = inImage.getHeight();
for(var pixel of inImage.values()){
var x = pixel.getX();
var y = pixel.getY();
if(x <= inImageWidth/2 && y <= inImageHeight/2){
makeRed(pixel);
}
if(x > inImageWidth/2 && y < inImageHeight/2){
makeBlue(pixel);
}
if(x <= inImageWidth/2 && y > inImageHeight/2){
makeGreen(pixel);
}
if(x > inImageWidth/2 && y > inImageHeight/2){
makePurple(pixel);
}
}
print(inImage);
var xTimesBigger = 3;
var outImage = new SimpleImage(inImage.getWidth()*xTimesBigger, inImage.getHeight()*xTimesBigger);
for(var pixel of outImage.values()){
var x = Math.floor(pixel.getX()/xTimesBigger);
var y = Math.floor(pixel.getY()/xTimesBigger);
var inPixel = inImage.getPixel(x, y);
pixel.setRed(inPixel.getRed());
pixel.setGreen(inPixel.getGreen());
pixel.setBlue(inPixel.getBlue());
}
print(outImage);
function makeRed(p){
pixel.setRed(255);
pixel.setGreen(0);
pixel.setBlue(0)
}
function makeGreen(p){
pixel.setRed(0);
pixel.setGreen(255);
pixel.setBlue(0)
}
function makeBlue(p){
pixel.setRed(0);
pixel.setGreen(0);
pixel.setBlue(255)
}
function makePurple(p){
pixel.setRed(128);
pixel.setGreen(0);
pixel.setBlue(128)
}