Here is the code of the concerned method and it's use :
Image newImage = null;
convertToGrayscale(image, newImage);
private Image convertToGrayscale(BufferedImage image, Image newImage) {
// try {
for (int i = 0; i < image.getHeight(); i++) {
for (int j = 0; j < image.getWidth(); j++) {
Color imageColor = new Color(image.getRGB(j, i));
int rgb = (int) (imageColor.getRed() * 0.299)
+ (int) (imageColor.getGreen() * 0.587)
+ (int) (imageColor.getBlue() * 0.114);
Color newColor = new Color(rgb, rgb, rgb);
image.setRGB(j, i, newColor.getRGB());
}
}
newImage = image;
return newImage;
//ImageIO.write(image, "jpg", (ImageOutputStream) newImage);
//ImageIO.write(image, "jpg", new Image(newImage));
/*} catch (IOException e) {
e.printStackTrace();
}*/
}
I'm passing an image to method convertToGrayScale and want to return the modified image.