1. 方法1
BufferedImage grayImage = new BufferedImage(width, height, colorImage.TYPE_BYTE_GRAY);  
Graphics g = grayImage.getGraphics();  
g.drawImage(colorImage, 0, 0, null);  
g.dispose();

 

2. 方法2(不推荐)

ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY);  
ColorConvertOp op = new ColorConvertOp(cs, null);  
BufferedImage grayImage = op.filter(colorImage, null);