Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Duplicating a given picture x times in the same image.
- 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);
- resultImage = makeTopLeftPicture(originalImage, resultImage);
- resultImage = makeTopRightPicture(originalImage, resultImage);
- resultImage = makeBottomLeftPicture(originalImage, resultImage);
- resultImage = makeBottomRightPicture(originalImage, resultImage);
- return resultImage;
- }
- function makeTopRightPicture(originalImage, resultImage){
- for(var originalPixel of originalImage.values()){
- var x = originalPixel.getX();
- var y = originalPixel.getY();
- var adjustedX = x + originalImage.getWidth();
- var resultPixel = resultImage.getPixel(adjustedX, y);
- resultPixel.setRed(originalPixel.getRed());
- resultPixel.setGreen(originalPixel.getGreen());
- resultPixel.setBlue(originalPixel.getBlue());
- }
- return resultImage;
- }
- function makeBottomRightPicture(originalImage, resultImage){
- for(var originalPixel of originalImage.values()){
- var x = originalPixel.getX();
- var y = originalPixel.getY();
- var adjustedX = x + originalImage.getWidth();
- var adjustedY = y + originalImage.getHeight();
- var resultPixel = resultImage.getPixel(adjustedX,adjustedY);
- resultPixel.setRed(originalPixel.getRed());
- resultPixel.setGreen(originalPixel.getGreen());
- resultPixel.setBlue(originalPixel.getBlue());
- }
- return resultImage;
- }
- function makeBottomLeftPicture(originalImage, resultImage){
- for(var originalPixel of originalImage.values()){
- var x = originalPixel.getX();
- var y = originalPixel.getY();
- var adjustedY = y + originalImage.getHeight();
- var resultPixel = resultImage.getPixel(x, adjustedY);
- resultPixel.setRed(originalPixel.getRed());
- resultPixel.setGreen(originalPixel.getGreen());
- resultPixel.setBlue(originalPixel.getBlue());
- }
- return resultImage;
- }
- function makeTopLeftPicture(originalImage, resultImage){
- for(var originalPixel of originalImage.values()){
- var x = originalPixel.getX();
- var y = originalPixel.getY();
- var resultPixel = resultImage.getPixel(x,y);
- resultPixel.setRed(originalPixel.getRed());
- resultPixel.setGreen(originalPixel.getGreen());
- resultPixel.setBlue(originalPixel.getBlue());
- }
- return resultImage;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement