图片反相算法
图片反相算法

图片反相算法,比较简单,就是使用255减去图片中的每个像素的RGB 值 ,即:
R_new = 255 - R;
G_new = 255 - G;
B_new = 255 - B;

原图如下:

效果图如下:

核心代码如下:


/**
 * 对图片增加滤镜
 *
 * @param image 图片
 * @return 增加滤镜之后的图片
 */
@Override
public BufferedImage pictureAddFilter(BufferedImage image) {

    int width = image.getWidth();
    int height = image.getHeight();
    int minWidth = image.getMinX();
    int minHeight = image.getMinY();

    for (int i = minWidth; i < width; i++) {
        for (int y = minHeight; y < height; y++) {
            int rgb = image.getRGB(i, y);
            Color color = new Color(rgb);
            color = filterColor(color);
            image.setRGB(i,y,color.getRGB());
        }
    }
    return image;
}
/**
 * 对像素color 进行处理
 *
 * @param color 原color
 * @return 新color
 */
@Override
protected Color filterColor(Color color) {
    return new Color(255 - color.getRed(),255 - color.getGreen(),255- color.getBlue());
}
                    
Copyright © 2019-2020 2024-11-21 17:46:56