rendered paste body
public Picture circleNegate(int centerx, int centery, int radius)
{
int x, y;
Pixel pixelObj;
for(y=centery-radius; y<=centery+radius; y++)
{
for(x = centerx-radius; x <= centerx+radius; x++)
{
if(Math.sqrt((int)((x-centerx)*(x-centerx) + (y-centery)*(y-centery))) <= radius)
{
pixelObj= this.getPixel(x,y);
pixelObj.setRed(255-pixelObj.getRed());
pixelObj.setBlue(255-pixelObj.getBlue());
pixelObj.setGreen(255-pixelObj.getGreen());
}
}
}
return this;
}
public Picture makeGreen()
{
Pixel[] pixelArray= getPixels();
Pixel pixelObj= null;
int index=0;
while (index< pixelArray.length)
{
pixelObj= pixelArray[index];
pixelObj.setRed(pixelObj.getRed()/2);
pixelObj.setBlue(pixelObj.getBlue()/2);
pixelObj.setGreen((int)(pixelObj.getGreen()*1.8));
index++;
}
return this;
}
public Picture mirrorHorizontal()
{
int midpoint=this.getHeight()/2;
Pixel topPixel, bottomPixel;
for(int y=0; y<midpoint; y++)
{
for(int x=0; x<this.getWidth(); x++)
{
topPixel=getPixel(x,y);
bottomPixel=getPixel(this.getWidth() - 1 - x,y);
bottomPixel.setColor(topPixel.getColor());
}
}
return this;
}
public Picture greyscaleWithLuminance()
{
Pixel[] pixelArray= getPixels();
Pixel pixelObj= null;
int index=0;
int intensity;
while (index< pixelArray.length)
{
pixelObj= pixelArray[index];
intensity=(int)(pixelObj.getRed()* 0.299 + pixelObj.getGreen() * 0.587 + pixelObj.getBlue() * 0.114);
pixelObj.setRed(intensity);
pixelObj.setGreen(intensity);
pixelObj.setBlue(intensity);
index++;
}
return this;
}