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));}分来分来。
{
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));}分来分来。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货