Letters from Sanford Street # 410

This took forever, and I'm finally done. The issue I had initially was simply making the code work, but then I had to turn it into a function, to make the code apply to different inputs, in this case, different images, what it came down to was an oversight I had with a previous question: functions need a return() line. Took forever, but it's done, and it works.



        function swapRedGreen(someImage){ 
        var picture = new SimpleImage(someImage);
        for (var pixel of picture.values()) {
        
        var red1 = pixel.getRed(); 
        var green1 = pixel.getGreen();
        var blue1 = pixel.getBlue();
        
        pixel.setGreen(red1);   
        pixel.setRed(green1);

                             
                                             }
        return(picture);
                                             }
 

var result = swapRedGreen("chapel.png");
print(result);

var result = swapRedGreen("dinos.png");
print(result);

var result = swapRedGreen("drewRobert.png");
print(result);











* * *




        function swapRedGreen(someImage)           { 
        var picture = new SimpleImage(someImage);
        for (var pixel of picture.values())        {
        
        var red = pixel.getRed(); 
        var green = pixel.getGreen();
        var blue = pixel.getBlue();
       
        if (pixel.getGreen() == 51 ) if (pixel.getBlue() == 227 )  {
        pixel.setRed(255);
        pixel.setGreen(255); 
        pixel.setBlue(0);

                                                                   }                                      
                                  
        
                                  

                             
                                             }
        return(picture);
                                             }
 

var result = swapRedGreen("duke_blue_devil.png");
print(result);

        var red = result.getRed(30,30); 
        var green = result.getGreen(30,30);
        var blue = result.getBlue(30,30);
        
        print(red);
        print(green);
        print(blue);






* * * 




        function swapRedGreen(someImage)           { 
        var picture = new SimpleImage(someImage);
        for (var pixel of picture.values())        {
        
        var red = pixel.getRed(); 
        var green = pixel.getGreen();
        var blue = pixel.getBlue();
       
        if (pixel.getGreen() != 255 ) 
        if (pixel.getBlue() != 255 )  
        if (pixel.getRed() != 255 )                                {
            
        pixel.setRed(255);
        pixel.setGreen(255); 
        pixel.setBlue(0);

                                                                   }                                      
                                  
        
                                  

                             
                                             }
        return(picture);
                                             }
 

var result = swapRedGreen("duke_blue_devil.png");
print(result);

        var red = result.getRed(30,30); 
        var green = result.getGreen(30,30);
        var blue = result.getBlue(30,30);
        
        print(red);
        print(green);
        print(blue);





So this one was also interesting, in the first attempt, I tried to make all the blue pixels yellow, but I found that I came out with a better result by turning all non-white pixels yellow, there seemed to be a border around the image and was a blue that was not the exact same blue as the rest of the image.

No comments:

Post a Comment