BufferedImage描述一个带有颜色像素数据缓冲区的Image,它由ColorModel和Raster组成。Raster由DataBuffer和SampleModel组成,负责组织和存储决定象素颜色的数据,每个象素由采样值构成。DataBuffer存储图像的原始采样数据,SampleModel访问DataBuffer中任意给定象素的采样值。ColorModel是Raster的解释器,它将Raster中每个象素的采样值取出,并转换为正确的颜色。利用矩阵变换就可以改变象素值。给你个翻转颜色的例子。
// Java core packages
import java.awt.image.*;public class InvertFilter implements Java2DImageFilter {
   
   // apply color inversion filter to BufferedImage
   public BufferedImage processImage( BufferedImage image ) 
   {
      // create 256 color array and invert colors
      byte[] invertArray = new byte[ 256 ];
      
      for ( int counter = 0; counter < 256; counter++ )
         invertArray[ counter ] = ( byte )( 255 - counter );   
      
      // create filter to invert colors
      BufferedImageOp invertFilter = new LookupOp(
         new ByteLookupTable( 0, invertArray ), null );
      
      // apply filter to displayImage
      return invertFilter.filter( image, null );
      
   } // end method processImage
}

解决方案 »

  1.   

    import java.awt.*;
    import java.awt.image.*;public interface Java2DImageFilter {
      
       // apply filter to Image
       public abstract BufferedImage processImage( 
          BufferedImage image );
    }
      

  2.   

    再来个锐化的,其中涉及到矩阵变换。
    import java.awt.image.*;public class SharpenFilter implements Java2DImageFilter {
       
       // apply edge-sharpening filter to BufferedImage
       public BufferedImage processImage( BufferedImage image ) 
       {
          // array used to detect edges in image
          float[] sharpenMatrix = {
             0.0f, -1.0f, 0.0f,
             -1.0f, 5.0f, -1.0f,
             0.0f, -1.0f, 0.0f };
                                
          // create filter to sharpen edges
          BufferedImageOp sharpenFilter = 
             new ConvolveOp( new Kernel( 3, 3, sharpenMatrix ), 
                ConvolveOp.EDGE_NO_OP, null );
          
          // apply sharpenFilter to displayImage
          return sharpenFilter.filter( image, null );
          
       } // end method processImage
    }
    希望对你有所帮助。