// BlurFilter.java
// Blurfilter is an Java2DImageFilter that blurs a BufferedImage.
package ip.j2d;

import graphics.ImageUtils;

import java.awt.image.BufferedImage;
import java.awt.image.BufferedImageOp;
import java.awt.image.ConvolveOp;
import java.awt.image.Kernel;

public class BlurFilter implements BufferedImageProcess {

    // apply blurring filter to BufferedImage
    public BufferedImage process(BufferedImage bi) {
        // array used to blur BufferedImage
        float[][] blurMatrix = {
            {1.0f / 9.0f, 1.0f / 9.0f, 1.0f / 9.0f},
            {1.0f / 9.0f, 1.0f / 9.0f, 1.0f / 9.0f},
            {1.0f / 9.0f, 1.0f / 9.0f, 1.0f / 9.0f}};

        return ImageUtils.convolve(bi, blurMatrix);

    } // end method processImage

}