1

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

IAdapter
  • 62,595
  • 73
  • 179
  • 242
zero juan
  • 199
  • 2
  • 5
  • 15

3 Answers3

5

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

Dean J
  • 39,360
  • 16
  • 67
  • 93
  • 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 Oct 19 '09 at 16:41
4

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
  • 14,029
  • 3
  • 33
  • 31
3

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_0_1guide-unc/Image-enhance.doc.html#51172 (which is where the code is from too)

Paul
  • 61
  • 3