document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. // Duplicating a given picture x times in the same image.
  2. var originalImage = new SimpleImage("duvall.jpg");
  3. print(originalImage);
  4. var xTimesBigger = 2;
  5. var resultImage = makeXTimesBigger(originalImage, xTimesBigger);
  6. print(resultImage);
  7.  
  8. function makeXTimesBigger(originalImage, xTimesBigger){
  9.     var resultImage = new SimpleImage(originalImage.getWidth()*xTimesBigger, originalImage.getHeight()*xTimesBigger);
  10.     resultImage = makeTopLeftPicture(originalImage, resultImage);
  11.     resultImage = makeTopRightPicture(originalImage, resultImage);
  12.     resultImage = makeBottomLeftPicture(originalImage, resultImage);
  13.     resultImage = makeBottomRightPicture(originalImage, resultImage);
  14.     return resultImage;
  15. }
  16. function makeTopRightPicture(originalImage, resultImage){
  17.     for(var originalPixel of originalImage.values()){
  18.         var x = originalPixel.getX();
  19.         var y = originalPixel.getY();
  20.         var adjustedX = x + originalImage.getWidth();
  21.         var resultPixel = resultImage.getPixel(adjustedX, y);
  22.         resultPixel.setRed(originalPixel.getRed());
  23.         resultPixel.setGreen(originalPixel.getGreen());
  24.         resultPixel.setBlue(originalPixel.getBlue());
  25.     }
  26.     return resultImage;
  27. }
  28. function makeBottomRightPicture(originalImage, resultImage){
  29.     for(var originalPixel of originalImage.values()){
  30.         var x = originalPixel.getX();
  31.         var y = originalPixel.getY();
  32.         var adjustedX = x + originalImage.getWidth();
  33.         var adjustedY = y + originalImage.getHeight();
  34.         var resultPixel = resultImage.getPixel(adjustedX,adjustedY);
  35.         resultPixel.setRed(originalPixel.getRed());
  36.         resultPixel.setGreen(originalPixel.getGreen());
  37.         resultPixel.setBlue(originalPixel.getBlue());
  38.     }
  39.     return resultImage;
  40. }
  41. function makeBottomLeftPicture(originalImage, resultImage){
  42.     for(var originalPixel of originalImage.values()){
  43.         var x = originalPixel.getX();
  44.         var y = originalPixel.getY();
  45.         var adjustedY = y + originalImage.getHeight();
  46.         var resultPixel = resultImage.getPixel(x, adjustedY);
  47.         resultPixel.setRed(originalPixel.getRed());
  48.         resultPixel.setGreen(originalPixel.getGreen());
  49.         resultPixel.setBlue(originalPixel.getBlue());
  50.     }
  51.     return resultImage;
  52. }
  53. function makeTopLeftPicture(originalImage, resultImage){
  54.     for(var originalPixel of originalImage.values()){
  55.         var x = originalPixel.getX();
  56.         var y = originalPixel.getY();
  57.         var resultPixel = resultImage.getPixel(x,y);
  58.         resultPixel.setRed(originalPixel.getRed());
  59.         resultPixel.setGreen(originalPixel.getGreen());
  60.         resultPixel.setBlue(originalPixel.getBlue());
  61.     }
  62.     return resultImage;
  63. }
');