关于JAVA的图片处理问题
ImageIO.write((BufferedImage) Itemp, "jpg", sImg); 这个东西中的 "jpg", 这个参数的作用是什么?是不是只能上传JPG类型格式的图片?但貌似我用了这个,我上传GIF也是可以的,为什么呢?如果我想上传任何类型的图片,应该怎么做?
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