gpt4 book ai didi

java - 使用 Java 将多个图像转换为灰度

转载 作者:行者123 更新时间:2023-12-01 16:36:37 25 4
gpt4 key购买 nike

我的程序正在读取所有文件,但将最后一个文件转换为黑白,并将文件夹中的所有现有图像更改为转换后的图像。我该怎么办?

//read-image
try{
f=new File("path");
File[] files=f.listFiles();
for (File file:files){
ImageInputStream is = ImageIO.createImageInputStream(file);
img= ImageIO.read(is);
}
System.out.println("Reading Complete.");
}
catch(IOException e){
System.out.println("Error"+e);
}

//write-image
try{
f= new File("path");
File[] files=f.listFiles();
for (File file:files){
ImageOutputStream os = ImageIO.createImageOutputStream(file);
ImageIO.write(img,"jpeg",os);
System.out.println("Writing Complete");
os.flush();
os.close();
}
}
catch(IOException e){
System.out.println("Error"+e);
}

最佳答案

您的代码读取所有文件,但仅保留一个 img 对象(最后一个)。您可以通过合并它的两个部分来解决这个问题 - 读取、编辑和写入:

try {
f = new File("path");
File[] files = f.listFiles();
for (File file : files){
Image img;
try (ImageInputStream is = ImageIO.createImageInputStream(file)) {
img = ImageIO.read(is);
}
Image imgGrayscale = makeImageGrayscale(img);
try (ImageOutputStream os = ImageIO.createImageOutputStream(file)) {
ImageIO.write(img, "jpeg", os);
}
}
} catch(IOException e){
System.out.println("Error"+e);
}

关于java - 使用 Java 将多个图像转换为灰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61935821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com