이 코드는 "imgs"라는 디렉토리의 이미지 크기를 조정하려고 시도합니다. 불행히도 listFiles (..) 루프의 주석을 제거 할 때 어떤 이유 때문에 ImageIO.read(sourceImageFile)
은 null을 반환합니다. 루프 (res("imgs/foto_3.jpg")
) 외부에서 똑같은 파일을 바로 처리 할 수 있습니다. 그래서 분명히,이 루프는 파일이 읽히지 못하게합니다. 솔루션? 디렉토리의 이미지 크기를 조정하는 방법은 무엇입니까?
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import static org.imgscalr.Scalr.*;
public class App {
public static void main(String[] args) throws IOException {
// for (File sourceImageFile : new File("imgs").listFiles()) {
// res("imgs/"+sourceImageFile.getName());
// }
res("imgs/foto_3.jpg");
}
public static void res(String arg) throws IOException {
File sourceImageFile = new File(arg);
BufferedImage img = ImageIO.read(sourceImageFile);
BufferedImage thumbnail = resize(img, 500);
thumbnail.createGraphics().drawImage(thumbnail, 0, 0, null);
ImageIO.write(thumbnail, "jpg", new File("resized/" + sourceImageFile.getName()));
}
}
는
download the Maven project 수있는 문제를 재현합니다.
시도했습니다. 문제가 없습니다 – simpatico
편집하고 코드에 크기 조정 방법을 추가 할 수 있습니까? 실험 해보고 싶습니다 –
프로젝트 코드를 다운로드하여 직접 볼 수 있도록 링크를 추가했습니다. – simpatico