views:

310

answers:

3

I'm trying to implement a blurring mechanic on a java game. How do I create a blur effect on runtime?

+4  A: 

Google "Gaussian Blur", try this: http://www.jhlabs.com/ip/blurring.html

Dean J
Or, searching for "blur" is a pain in the butt. Searching for "gaussian blur" is probably going to yield a *lot* better results.
Dean J
+3  A: 

Read about/Google "Convolution Filters", it's a method of changing a pixels value based on the values of pixels around it. So apart from blurring, you can also do image sharpening and line-finding.

JonoW
+2  A: 

If you are doing java game development, I'm willing to bet you are using java2d.

You want to create a convolution filter like so:

 // Create the kernel.
 kernel = new KernelJAI
 float[] = {  0.0F, -1.0F,  0.0F,
             -1.0F,  5.0F, -1.0F,
              0.0F, -1.0F,  0.0F };

 // Create the convolve operation.
 blurredImage = JAI.create("convolve", originalImage, kernel);

You can find more information at: http://java.sun.com/products/java-media/jai/forDevelopers/jai1%5F0%5F1guide-unc/Image-enhance.doc.html#51172 (which is where the code is from too)

Paul