java에서 작업 중이며 이미지가 생성됩니다. 마우스가 생성 된 이미지를 지나갈 때, 이미지에 블러 또는 픽셀 필터를 사용해야합니다.마우스 아래에서 이미지를 흐리게하는 방법
이 작업을 수행하기 위해 어떤 방법을 사용해야합니까? 여기에서
java에서 작업 중이며 이미지가 생성됩니다. 마우스가 생성 된 이미지를 지나갈 때, 이미지에 블러 또는 픽셀 필터를 사용해야합니다.마우스 아래에서 이미지를 흐리게하는 방법
이 작업을 수행하기 위해 어떤 방법을 사용해야합니까? 여기에서
public void test(int x, int y){ // Here x and y are the parameter thrown by mouseDragged() function
blur1 = displayImage; // blur1 is Image variable
blur2 = new BufferedImage(blur1.getWidth(this), blur1 //blur2 is BufferedImage Variable
.getHeight(this), BufferedImage.TYPE_INT_RGB);
tst = blur2.createGraphics(); // tst is Graphics2D variable
tst.drawImage(blur1, 0, 0, this);
blur3 = new BufferedImage(blur1.getWidth(this), blur1 //blur3 is BufferedImage Variable
.getHeight(this), BufferedImage.TYPE_INT_RGB);
float data[] = { 0.0625f, 0.125f, 0.0625f, 0.125f, 0.25f, 0.125f,
0.0625f, 0.125f, 0.0625f };
Kernel kernel = new Kernel(3, 3, data);
ConvolveOp convolve = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP,
null);
blur2 = OSC.getSubimage(x, y, 20, 20); // 20 is the size in pixels where the effect is applied
blur3 = OSC.getSubimage(x, y, 20, 20);
convolve.filter(blur2, blur3);
Graphics osg = OSC.getGraphics();
osg.setColor(fillColor);
osg.drawImage(blur3,x,y,null);
osg.dispose();
repaint();
}
봐 : http://www.java2s.com/Code/Java/2D-Graphics-GUI/ImageEffectSharpenblur.htm
당신이 원하는 이미지를 필터링 한 후 인수로 커널 인으로로 ConvolveOp를 인스턴스화하고, 당신이 원하는 값대로의 배열 커널을 정의해야합니다.
나는 java.awt.image.ConvolveOp를 사용하여 전체 이미지를 흐리게 처리했습니다. – ppst99
"무엇을 시도 했습니까?"즉 ** 여기에 코드를 붙여 넣을 수 있습니까? ** – BackSlash
1) 더 빨리 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. 2) 해결책은 아마도 날카로운 이미지를 그리는 것이며, 마우스 아래의 영역에 클립을 적용하고 흐려진 이미지를 그립니다. –