public void saveImage(Image pImage,String ofileDirAndName) throws IOException
  {
    BufferedImage  bimg  =  null;
    int  w  =  pImage.getWidth(null);
    int  h  =  pImage.getHeight(null);
    int  []  pixels  =  new  int[w  *  h];
    PixelGrabber pg = new PixelGrabber(pImage,0, 0, w, h,pixels, 0, w);
    try {
      pg.grabPixels();
    }
    catch(InterruptedException e) {
      e.printStackTrace();
    }
    //System.out.println("mStrUserPath:"+mStrUserPath);
    File userDir = new File(this.mStrUserPath);
    File snapShotDir = new File(userDir,"快照图象");
    System.out.println("2");    this.bout= new ByteArrayOutputStream();System.out.println("3");
      //---need a BufferedImage for JPEG Codec.
      //---BufferedImage is a subclass of Image.    BufferedImage bufferedImage= new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);    bufferedImage.setRGB(0,0,w,h,pixels,0,w);    //---sharpen the image.
    float[] sharpKernel = { 0.0f, -1.0f, 0.0f,
                            -1.0f, 5.0f, -1.0f,
                            0.0f, -1.0f, 0.0f };System.out.println("5");    BufferedImageOp sharpen= new ConvolveOp( new Kernel(3, 3, sharpKernel), ConvolveOp.EDGE_NO_OP, null);
    BufferedImage sharp= sharpen.filter( bufferedImage, null );    //---create an encoder object for the BufferedImage.
    JPEGEncodeParam jpegParam= JPEGCodec.getDefaultJPEGEncodeParam( sharp );    jpegParam.setQuality( 1.0f, false );    JPEGImageEncoder jpeg= JPEGCodec.createJPEGEncoder( bout, jpegParam );    //---encode the BufferedImage.
    jpeg.encode( bufferedImage );
    this.bout.writeTo(new FileOutputStream(ofileDirAndName));}分来分来。