我在磁盘上有一张图片。我想将它转换为BufferedImage,以便我可以在其上应用过滤器。有没有办法做到这一点?
答案 0 :(得分:4)
使用ImageIO.read(File)。它返回BufferedImage:
BufferedImage image = ImageIO.read(new File(filename));
答案 1 :(得分:2)
试试这个,使用class" javax.imageio.ImageIO"像
BufferedImage originalImage = ImageIO.read(new File("c:\\image\\mypic.jpg"));
另请参阅此链接
答案 2 :(得分:1)
将常规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);
这可能不是关于性能的最佳方式,但它肯定会一直有效。
答案 3 :(得分:0)
Java 2D™支持使用Image I/O API
包中的javax.imageio
将这些外部图像格式加载到其 BufferedImage 格式中。 Image I / O内置支持GIF,PNG,JPEG,BMP和WBMP。
要从特定文件加载图像,请使用以下代码:
BufferedImage img = null;
try {
img = ImageIO.read(new File("image.jpg"));
} catch (IOException e) {
e.printStackTrace()
}
答案 4 :(得分:0)
要从特定文件加载图像,请使用以下代码:
阅读更多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
}