当前位置:编程学习 > JAVA >>

关于JAVA的图片处理问题

ImageIO.write((BufferedImage) Itemp, "jpg", sImg); 这个东西中的 "jpg", 这个参数的作用是什么?是不是只能上传JPG类型格式的图片?但貌似我用了这个,我上传GIF也是可以的,为什么呢?如果我想上传任何类型的图片,应该怎么做?
答案:public static boolean write(RenderedImage im, String formatName, File output) throws IOException
使用支持给定格式的任意 ImageWriter 将一个图像写入 File。如果已经有一个 File 存在,则丢弃其内容。 

参数:im - 要写入的 RenderedImage。
          formatName - 包含格式非正式名称的 String。
          output - 将在其中写入数据的 File。 
返回:如果没有找到合适的 writer,则返回 false。 
抛出: IllegalArgumentException - 如果任何参数为 null。 
           IOException - 如果在写入过程中发生错误。

说白了,就是按指定的formatName把图片存到file(或OutputStream)中。formatName是已注册的、可以保存图片的writer的非正式名称,比如“jpeg”,“tiff”。如果想知道到底有哪些writer在你的机器上被注册了,用ImageIO.getWriterFormatNames(),返回类型是String[] 。同样的,还有读取图片的reader,对应的是ImageIO.getReaderFormatNames()。

最后要说的是,这个方法是保存图片,和上传没有关系。你可能是要上传图片后再保存吧!
其他:把图像按照JPEG类型输出。
输入itemp可以是任何能被识别的图像(GIS、BMP、JPEG、……),但输出被指定为JPEG。 

上一个:如何编写一个java的全文检索页面(有菜单)
下一个:java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,