【发布时间】:2012-06-30 14:51:12
【问题描述】:
我在磁盘上有一张图片。我想将其转换为 BufferedImage 以便我可以对其应用过滤器。有没有办法做到这一点?
【问题讨论】:
标签: java bufferedimage
我在磁盘上有一张图片。我想将其转换为 BufferedImage 以便我可以对其应用过滤器。有没有办法做到这一点?
【问题讨论】:
标签: java bufferedimage
使用 ImageIO.read(File) 。它返回 BufferedImage :
BufferedImage image = ImageIO.read(new File(filename));
【讨论】:
试试这个,像使用“javax.imageio.ImageIO”类
BufferedImage originalImage = ImageIO.read(new File("c:\\image\\mypic.jpg"));
也可以参考这个链接
【讨论】:
将常规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);
这可能不是关于性能的最佳方式,但它肯定总是有效的。
【讨论】:
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()
要从特定文件加载图像,请使用以下代码:
阅读更多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()