Java 将资源映像绘制到缓冲映像上
好的,我想创建一个我在我的资源文件夹中的图像副本,并把它放到桌面上。示例:我的项目有一个资源文件夹,其中包含一个名为apple.png的图像。因为当我导出jar文件时,它找不到它,所以我想把它复制到桌面上,这样它就可以从那里找到它。以下是我尝试做的:Java 将资源映像绘制到缓冲映像上,java,file-io,bufferedimage,Java,File Io,Bufferedimage,好的,我想创建一个我在我的资源文件夹中的图像副本,并把它放到桌面上。示例:我的项目有一个资源文件夹,其中包含一个名为apple.png的图像。因为当我导出jar文件时,它找不到它,所以我想把它复制到桌面上,这样它就可以从那里找到它。以下是我尝试做的: try { // retrieve image BufferedImage bi = new BufferedImage(256, 256, BufferedImage.TYPE_IN
try {
// retrieve image
BufferedImage bi = new BufferedImage(256, 256,
BufferedImage.TYPE_INT_RGB);
File outputfile = new File(
"C:/Users/Owner/Desktop/saved.png");
ImageIO.write(bi, "png", outputfile);
} catch (IOException e) {
}
}
这只是在我的桌面上为我创建了缓冲图像。如何获取res图像并将其复制到其中。您需要将
缓冲区图像作为图像文件加载
BufferedImage bi = ImageIO.read(new File(getClass().getResource("/apple.png"));));
所有其他步骤都相同。将其作为图像加载的原因是什么?如果只想将资源复制到桌面而不进行更改:
InputStream resStream = getClass().getResourceAsStream("/image.png"));
//Improved creation of output path:
File path = new File(new File(System.getProperty("user.home")), "Desktop");
File outputFile = new File(path, "saved.png");
//now write it
Files.copy(resStream, outputFile);
不过这是一个资源文件。