【问题标题】:Converting Image to BufferedImage将图像转换为 BufferedImage
【发布时间】:2012-06-30 14:51:12
【问题描述】:

我在磁盘上有一张图片。我想将其转换为 BufferedImage 以便我可以对其应用过滤器。有没有办法做到这一点?

【问题讨论】:

    标签: java bufferedimage


    【解决方案1】:

    使用 ImageIO.read(File) 。它返回 BufferedImage :

    BufferedImage image = ImageIO.read(new File(filename));
    

    【讨论】:

      【解决方案2】:

      试试这个,像使用“javax.imageio.ImageIO”类

      BufferedImage originalImage = ImageIO.read(new File("c:\\image\\mypic.jpg"));
      

      也可以参考这个链接

      http://www.dzone.com/snippets/converting-images

      【讨论】:

      • 谢谢 Parvel :),但我们似乎都在同一条线上。
      【解决方案3】:

      将常规Image 转换为BufferedImage 的最安全方法是创建一个新的BufferedImage 并在其上绘制Image,如下所示:

      Image original = ...;
      
      BufferedImage b_img = new BufferedImage(original.getWith(), original.getHeight(), BufferedImage.TYPE_4BYTE_ARGB);
      // or use any other fitting type
      
      b_img.getGraphics().drawImage(original, 0, 0, null);
      

      这可能不是关于性能的最佳方式,但它肯定总是有效的。

      【讨论】:

        【解决方案4】:

        Java 2D™ 支持使用位于 javax.imageio 包中的 Image I/O API 将这些外部图像格式加载到其 BufferedImage 格式中。图像 I/O 内置支持 GIF、PNG、JPEG、BMP 和 WBMP。

        要从特定文件加载图像,请使用以下代码:

        BufferedImage img = null;
        try {
            img = ImageIO.read(new File("image.jpg"));
        } catch (IOException e) {
           e.printStackTrace()
        }
        

        【讨论】:

        • 最好不要提及异常处理,而不是搞砸!致电e.printStackTrace()
        【解决方案5】:

        要从特定文件加载图像,请使用以下代码:
        阅读更多Reading/Loading an Image
        Working with Images

        BufferedImage img = null;
         try {
           img = ImageIO.read(new File("your/image/path/name.jpg"));
          } catch (IOException e) { 
           // handle exception 
          }
        

        【讨论】:

        • 最好不要提及异常处理,而不是搞砸!致电e.printStackTrace()
        猜你喜欢
        • 1970-01-01
        • 2011-05-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多