`
asdzheng
  • 浏览: 95925 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

ImageIO.read() 返回 null

阅读更多
今天碰到一个怪异的问题,就是 Image img = ImageIO.read(file).读取文件时,传入的文件路径是正确的, 而img 却一直为null.

后来在网上查找ImageIO用法知道,它可读取的图片类型是有限制的,可以读取图片的格式为 :[BMP, bmp, jpg, JPG, wbmp, jpeg, png, PNG, JPEG, WBMP, GIF, gif]

不过我的图片是jpg,格式,为什么还读取不了呢?

经过一番查找,有人也也碰到这样的问题,经提醒才知道,后缀名是jpg的图片,格式不一定就是jpg,有可能是TIFF格式,而TIFF格式的图片ImageIO并不能读取。

要读取TIFF格式,需要引入 jai_imageio.jar( 地址:http://ishare.iask.sina.com.cn/f/23525879.html?from=like)这个包。

问题解决。
分享到:
评论

相关推荐

    Java图片处理ImageIO.read()问题

    3. **空指针异常(NullPointerException)**:如果传递的`InputStream`为`null`,`ImageIO.read()`会抛出`NullPointerException`。确保在调用前已正确初始化输入流。 4. **编码问题**:如果图片包含非ASCII字符的元...

    图片上传JSP代码

    利用AJAX,文件输入输出流实现 图片的简单上传功能...Image src = javax.imageio.ImageIO.read(_file); //构造Image对象 int wideth=src.getWidth(null); //得到源图宽 int height=src.getHeight(null); //得到源图长

    java image 图片处理

    `javax.imageio.ImageIO`类提供了静态方法`read()`来读取图像文件。例如,以下代码展示了如何从本地文件系统中的`image.gif`文件读取图像: ```java import javax.imageio.ImageIO; import java.awt.image....

    package com.test;package com.test;package com.test;package com.test;

    sourceImg = javax.imageio.ImageIO.read(is); } catch (IOException e1) { e1.printStackTrace(); // return rect; } System.out.println("width = " + sourceImg.getWidth() + "height = " + ...

    Convert bmp to jpg

    2. **读取BMP图像**:使用`ImageIO.read()`方法从BMP文件中读取图像。 ```java File input = new File("input.bmp"); BufferedImage image = ImageIO.read(input); ``` 3. **创建JPEG输出流**:确定输出文件路径,...

    java图片背景复选框Demo

    Image srcImg = ImageIO.read(new File("images/imagecb/cb_unselect.png")); BufferedImage bufImg = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB_PRE); Graphics2D g2d = bufImg....

    Java调用OCR进行图片识别[归纳].pdf

    BufferedImage bi = reader.read(0); IIOImage image = new IIOImage(bi, null, reader.getImageMetadata(0)); tempFile = tempImageFile(imageFile); ImageOutputStream ios = ImageIO.createImageOutputStream...

    Java图片处理

    BufferedImage src = ImageIO.read(new File(srcImageFile)); // 读取源图像 int width = src.getWidth(); // 获取源图像宽度 int height = src.getHeight(); // 获取源图像高度 if (flag) { // 放大 width = ...

    java将图片变成指定大小

    使用`ImageIO.read()`方法从文件或流中读取图像到`BufferedImage`对象。例如: ```java File imageFile = new File("path_to_your_image.jpg"); BufferedImage originalImage = ImageIO.read(imageFile); ``` ...

    Java将大图片转成小图片

    `ImageIO.read()`用于读取图片,`ImageIO.write()`用于保存修改后的图片。 3. **缩放算法**: 缩放图片时,选择合适的算法至关重要。基本的算法有最近邻插值(Nearest Neighbour)、双线性插值(Bilinear ...

    在Java中进行图片剪裁

    通过`ImageIO.read()`和`ImageIO.write()`方法,我们可以方便地在磁盘和`BufferedImage`对象之间进行转换。 3. **Graphics2D**:这是`Graphics`类的一个子类,提供了高级绘图功能,包括绘制文本、形状和图像。在...

    JAVA缩小图片尺寸

    Image src = javax.imageio.ImageIO.read(srcfile); ``` 2. **获取原始图像尺寸**: 获取图片的原始宽度和高度,以便后续按比例缩放。 ```java int w0 = src.getWidth(null); // 原始宽度 int h0 = src....

    java合并图片学习

    我们可以使用`ImageIO.read()`方法从文件或输入流中加载图像,而`ImageIO.write()`则可以将图像保存到文件。 3. **Graphics2D类**: `Graphics2D`是从`Graphics`派生出来的一个接口,提供了更高级别的绘图功能,...

    Java将多张图片合成为一张图像.rar

     BufferedImage image=ImageIO.read(imagein);  BufferedImage image2=ImageIO.read(imagein2);  Graphics g=image.getGraphics();  g.drawImage(image2,image2.getWidth() image2.getWidth(),image2.getHeight...

    Java图片压缩(带EXIF信息)

    BufferedImage originalImage = ImageIO.read(new File("path_to_your_image.jpg")); int width = originalImage.getWidth(); int height = originalImage.getHeight(); BufferedImage resizedImage = new ...

    java use picture

    2. **读取和加载图片**:使用`javax.imageio.ImageIO`类的静态方法`read()`可以从文件或输入流中读取图像。例如: ```java File imageFile = new File("path_to_your_image.jpg"); BufferedImage image = ImageIO...

    java 上传图片生成缩略图

    这里使用`javax.imageio.ImageIO.read(file)`方法读取文件对象`file`代表的图像。如果读取过程中出现任何问题,如文件不存在或不是有效的图像文件,则会抛出`IOException`。使用`Logger`记录异常,方便后续调试和...

    java高清图片压缩的2种方法

    BufferedImage originalImage = ImageIO.read(new File("原始图片路径.jpg")); // 输出原始图片的宽度和高度 System.out.println("Original Image: " + originalImage.getWidth() + "x" + originalImage....

    JAVA图片转换jpg工具附源码

    要将图片转换为JPG,你需要先使用`ImageIO.read()`方法从文件加载图像到`BufferedImage`对象,然后使用`ImageIO.write()`方法将其保存为JPG格式。 转换过程可能涉及调整图像质量、大小或者颜色模式。例如,如果你想...

    图片过大引起的内存溢出解决方案

    它可以通过各种方式(如文件路径、字节数组、输入流等)来解码图片,并返回一个`Bitmap`对象。但是,默认情况下,`BitmapFactory`会一次性加载整个图片到内存中,这对于大尺寸图片来说可能会导致内存溢出。 #### 三...

Global site tag (gtag.js) - Google Analytics