开发者

How do I blur an image?

I'm trying to implement a blurring mechanic开发者_如何学JAVA on a java game. How do I create a blur effect on runtime?


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


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.


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)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜