Now modify the program one more time to replace the two functions pixelOnVerticalEdge and pixelOnHorizontalEdge with one function to do the same thing called pixelOnEdgeDifferentThicknesses( ). The parameters are not shown. You should decide on the parameters. Write the function and test it to make sure it works the same as the two functions it replaces, so you can generate pictures with borders that have different thicknesses for the vertical borders vs. the horizontal borders. Here is an example: Here is an island picture:

// write your code here
function setBlack(pixel){
    pixel.setBlue(0);
    pixel.setGreen(0);
    pixel.setRed(0);
    return pixel;
}
function pixelOnEdgeDifferentThicknesses(pixel, image, borderWidth){
    var x = pixel.getX();
    var y = pixel.getY();
 
    if (x < borderWidth) return true;
    if (y < (borderWidth+40)) return true;
    if (x >= image.getWidth() - borderWidth) return true;
    if (y >= image.getHeight() - (borderWidth+40)) return true;
    return false;
}

var image = new SimpleImage ("lion.jpg");
print (image);
for ( var pixel of image.values()){
    if (pixelOnEdgeDifferentThicknesses(pixel, image, 25) ){
        pixel = setBlack(pixel);
    }
   
}
print (image);

Here is the island picture with a border around it:
Here is a picture of the island with different thicknesses for the vertical versus horizontal borders:

No comments:

Post a Comment

కరోనా కోవిడ్ -19 గురించి ఏ వికీపీడియా మీకు చెప్పలేము?

కరోనా కోవిడ్ -19 గురించి ఏ వికీపీడియా మీకు చెప్పలేము? మిమ్మల్ని మీరు రక్షించుకోండి  Your మీ చేతులను తరచుగా కడగాలి Eyes మీ కళ్ళు, న...