画像に方向フラグが設定されているかどうかを確認するために使用jhead
しています。設定されている場合は、画像を回転し、表示時に回転する必要がないことを示すexif情報を設定します。コマンドラインでは、次のようになります。
jhead -autorot 'IMG_3680.JPG'
ProcessBuilder
見ている画像のJavaアプリからこれを呼び出すために使用しようとしjpegtran
ていますが、実際の画像の回転を行うために使用します。これらのアプリは両方ともコマンドラインから正しく動作し、/opt/local/bin
私のMacにあります。
私は得続けます:
sh: jpegtran: command not found
Error : Problem executing specified command
in file '/images/IMG_3681.JPG'
私のコードは次のとおりです。
public static void main(String[] args) throws Exception {
File[] files = (new File("/images")).listFiles();
for (File file : files){
ProcessBuilder pb = new ProcessBuilder("jhead", "-autorot", file.getAbsolutePath());
pb.redirectOutput(Redirect.INHERIT);
pb.redirectError(Redirect.INHERIT);
Process p = pb.start();
}
}
電話をかけるProcessBuilder
ためにヒントを提供する必要がありますか?jhead
jpegtran