2012-01-15 54 views
2

我遇到了java.awt.image.Kernel类的问题。 如果我将积极的论据应用于它,一切正常。但是,当我通过负面的,它根本不会改变形象。java.awt.image.Kernel和负值无效

int size = 3; 
float[] values = { 1f, -2f, 1f, -2f, 4f, -2f, 1f, -2f, 1f } 
Kernel kernel = new Kernel(size, size, values); 
ConvolveOp op = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null); 
BufferedImage toReturn = new BufferedImage(image.getWidth(), image.getHeight(), image.getType()); 
op.filter(image, toReturn); 

回答

3

我也有这个问题。将BufferedImage的类型从BufferedImage.TYPE_INT_ARGB改为BufferedImage.TYPE_INT_RGB导致其按预期工作。使用alpha时,显然负值不起作用。