我在做一个图片处理的java设计程序,有个问题就是我处理之后一个图片不知道怎么把它存到当地的硬盘里面,由于是为了这个设计自学的java,所以很多java的方法不会。
我首先是得到图片的高度、宽度和像素,分别是ih,iw和一个数组类型的pixels,目前我用image里面的getWidth和getHeight得到的图像长、高,再分别通过PixelGrabber得到像素,通过ColorModel可得到RGB值和Alpha值,然后通过ImageProducer和createImage可以得到图片image,然后不管是通过drawImage现实图片或者对得到的数据进行数字图像处理,再利用得到的newimage显示都没问题。现在是我能显示在自己做的窗体上,但那是不知道怎么保存(已知的有iw、ih、pixels,newimage)。
以前是做c语言的比较多,对于java需要找库中方法去实现功能很不熟悉和习惯,我看了网上有些人的想法是通过io输出来得到这个file,但是我尝试使用了FileImageOutputStream都没有成功,各位大神看看我是不是这个思路有问题或者有很好的方法我没有找到。
真心感谢!

解决方案 »

  1.   

    分享一个 验证图片 http://blog.csdn.net/hzc543806053/article/details/7067907
      

  2.   

    1楼,我刚刚认真看了你分享的文章,他的输出也是到一个窗体(浏览器)显示,这是你文中的内容:
    “ImageIO.write(image,"jpg",response.getOutputStream()); //把图形以JPG的格式存到流中然后调用 ImageIO.write输到浏览器 ”
    其中它使用ImageIO类使用支持给定格式的任意 ImageWriter 将一个图像写入 ImageOutputStream。
    我使用的方法是用ImageIO类支持的write(RenderedImage im, String formatName, File output) 方法将此图片写入file定义的路径和指定名字中,但是还是报错,问题在 ImageIO.write(tmp,"jpg",new File("E:\\","ieee"))此行,报错为找不到路径。麻烦你再看下。
      

  3.   


    ImageIO.write(BufferedImage,"jpg(图片格式)",File对象);
      

  4.   


    ImageIO.write(BufferedImage,"jpg",new File("E:/image.jpg"));
      

  5.   

    楼上的所有,谢谢,我找到原因了,问题出在bufferedimage上面,我用buffer处理了一下,就出来了。