日期:2014-05-20  浏览次数:20851 次

java保存图片问题,懂的请进。。。
我想把一个Image对象保存在电脑里边(gif格式),且不改变源文件(即动态图保存后还是动态图)
这该怎么做呢?这项目,急死了。。。

下面是我找到的保存图片方法,但不知为何动态图保存后,变成静态了,汗,文件大小缩水了N倍,只是原动态图的一个截面(相当于剪切那种,晕死了)。。。
 
 
Java code
 
                                                         Image image3=image2.getImage();
  
                           BufferedImage   bufImg   =   new   BufferedImage(image3.getWidth(null),   image3.getHeight(null),   BufferedImage.TYPE_INT_RGB); 
                           bufImg.getGraphics().drawImage(image3, 0, 0, null);
                           FileOutputStream fos;
                        try {
                            fos = new   FileOutputStream( "D://javaChat/01.jpg");
                            com.sun.image.codec.jpeg.JPEGImageEncoder   encoder   =   com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(fos); 
                            encoder.encode(bufImg); 
                            fos.close(); 
                        } catch (FileNotFoundException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();}
                          catch(Exception ett){
                              ett.printStackTrace();
                          }


------解决方案--------------------
gif-->jpeg???
jpeg永远不可能
------解决方案--------------------
Java code


ImageIO.write(b, "GIF", new FileOutputStream("c:\\a.gif"));

------解决方案--------------------
BufferedImage bufImg = new BufferedImage(image3.getWidth(null), image3.getHeight(null), BufferedImage.TYPE_INT_RGB); 
bufImg.getGraphics().drawImage(image3, 0, 0, null);
ImageIO.write(bufImg, "GIF", new FileOutputStream("c:\\a.gif"));