当前位置:  技术问答>java相关

90分!求如何将得到的图象存为文件?

    来源: 互联网  发布时间:2015-02-27

    本文导语:  现在把图象文件显示出来的例子不少,但反过来做的却很少。 现在在我的程序中已经得到一个image对象,可以将它显示在我的jframe上,现在我想把它存为文件,请问怎么做?? 请高手指点!最后有源代码,先谢了! ...

现在把图象文件显示出来的例子不少,但反过来做的却很少。
现在在我的程序中已经得到一个image对象,可以将它显示在我的jframe上,现在我想把它存为文件,请问怎么做??

请高手指点!最后有源代码,先谢了!

|
import com.sun.image.codec.jpeg.*;
private ByteArrayOutputStream bout;
private BufferedImage bufferedImage;
private void encode() throws IOException
{
//this.render();

this.bout= new ByteArrayOutputStream();

//---need a BufferedImage for JPEG Codec.
//---BufferedImage is a subclass of Image.
//BufferedImage bufferedImage= ( BufferedImage ) super.getImage();

//---sharpen the image.
float[] sharpKernel = { 0.0f, -1.0f, 0.0f,
-1.0f, 5.0f, -1.0f,
0.0f, -1.0f, 0.0f };

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("xx.jpg"));

|
With JDK1.2, Sun introduces a new package called JIMI (available for download at their Web site. With this package, it's easy to convert a Java Image to a JPEG image file. double w = 200.0;
double h = 200.0;
BufferedImage image = new BufferedImage(
   (int)w,(int)h,BufferedImage.TYPE_INT_RGB);

Graphics2D g = (Graphics2D)image.getGraphics();
g.drawLine(0,0,w,h);

try {
   File f = new File("myimage.jpg");
   JimiRasterImage jrf = Jimi.createRasterImage(image.getSource());
   Jimi.putImage("image/jpeg",jrf,new FileOutputStream(f));
   }
catch (JimiException je) {je.printStackTrace();}
 



Another way is to use the undocumented com.sun.image.codec.jpeg package. //  [JDK1.2]
//  img is a Java Image
//
BufferedImage bimg = null;
int w = img.getWidth(null);
int h = img.getHeight(null);
int [] pixels = new int[w * h];
PixelGrabber pg = new PixelGrabber(img,0,0,w,h,pixels,0,w);
try { 
  pg.grabPixels(); 
  } 
catch(InterruptedException ie) { 
  ie.printStackTrace();
  }

bimg = new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);
bimg.setRGB(0,0,w,h,pixels,0,w);

// Encode as a JPEG
FileOutputStream fos = new FileOutputStream("out.jpg");
JPEGImageEncoder jpeg = JPEGCodec.createJPEGEncoder(fos);
jpeg.encode(bimg);
fos.close();
 

|

skyyoung提供的是sun的图像包,你可以从java.sun.com下载,另外还有一个包也可以实现同样的功能,叫acme,如果要我可以发一个给你,或是你自已找一下。

|
If you really want to be fancy, use JAI, for Java Advanced Image. It is very powerful.

    
 
 

您可能感兴趣的文章:

  • 谁能给我个得到一幅图象的长度和宽度的方法,最好是代码.高分!!
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?
  • 我用JFileChooser得到了某个文件夹名,但如何得到此文件夹下的所有文件名
  • File类的getLastModify()得到的是长型整数,如何才能得到一个已知文件日期?
  • 怎么得到文件当前的位置和整个文件的大小
  • 请问如何从完整的路径加文件名中得到这个文件名?
  • 如何通过文件路径得到文件句柄
  • 在linux中如何得到一个文件夹及其下面的子文件夹中所有文件大小的总和
  • 如何得到终端输入文件的文件名
  • 如何从一个.class文件得到它的.java文件?
  • JFileChooser如何保存一个文件?具体来说:如何得到键入textField的文件名?
  • 请教:当压缩文件解压后,得到下面的文件,我应该安装哪一个呢?
  • 在模块里面怎么打开文件并得到文件的inode??(在线等)
  • 急::在Linux下怎么根据另一台windows或linux的文件名,去得到这个文件
  • 请问:使用System.getProperty(),或者如何得到属性文件的路径
  • 如何得到一个文件的生成时间?
  • wget http....如何让得到的文件自动覆盖?
  • 如何得到一个文件描述符的引用的个数?
  • 怎么用函数得到一个文件的创建者
  • 怎样得到当前文件所在目录
  • 怎样在Linux下得到某个目录下的文件的名称
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 万般火急!关于java打印,已经得到printerJob实例,那么怎么通过它得到Pageable实例?
  • 怎样得到当前目录(不是在java程序中得到)
  • DateFormat的用法?比如说现在想要得到21:38,我老是得到9:38
  • 苦恼的中文乱码!!!在servlet中用request.getParameter("xingming")得到的姓名域值就变成了乱码"???",更别提下面的转化函数得到的结果了。
  • linux下如何编程得到网卡的硬件描述,如得到某块网卡为“3Com 3c590/3c595....”
  • 如何得到一个终端的终端号/标示?
  • 菜问一则:请问用什么命令可得到系统路径
  • getInitParameter为什么得到null
  • 请问调用那个方法能够得到变量类型的返回值?
  • 怎样得到系统日期?
  • 用java.util.random怎么得到一个指定区间的随机数
  • 如何得到linux机器的时钟频率?
  • 急!如何得到snmp工具的显示数据?
  • 如何得到文本框里的自动换行标志?
  • 如何得到本机所有IP
  • bash脚本程序如何得到自身的执行路径?
  • Linux下得到进程号
  • 请问各位,getYear()得到的当前年,怎么是102?
  • 请问如何得到表单中的combox中的值
  • 怎么编程得到本地ip地址?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3