How do I desaturate a BufferedImage in Java?
问题 What's the simplest way to desaturate a BufferedImage ? 回答1: Use ColorConvertOp: public static BufferedImage desaturate(BufferedImage source) { ColorConvertOp colorConvert = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null); colorConvert.filter(source, source); return source; } Update : There is indeed a simpler way. You can use the GrayFilter class. What's nice about this class is that it provides a static utility method (i.e. createDisabledImage(Image i) ) that will