任务:我有一堆名为.rgb的图片,我想将它们转换为.jpeg
我没有使用imagemagick手动转换它们(“convert -size img0001.rgb img0001.jpeg”),而是试图编写一个为我做的java程序。
我正在使用Linux机器。
问题:我的程序只将第一个.rgb图像转换为.jpeg,但完全忽略了循环命令p = Runtime.getRuntime().exec(cmd1);
。
public class RbgConvertor {
public static void main(String[] args) throws IOException {
int n = Integer.parseInt(args [0]); // Number of pictures
String size = "1024x1024"; // Size image
String Path = "/home/nox/grbcode0000/"; // Image Directory
Process p; // buidiling a proces for "Runtime"
//I use a for loop as I have about an hundred of .rbg,
for (int i = 0; i <= n; i++) {
String[] cmd1 = {"bash",
"convert",
"-size", size,
Path,args[1],"0",""+(i+1),".rbg", //The "0" and (i+1) are to cope with the images being named img0001 etc.
Path,args[1],"0",""+(i+1),".jpeg"} ;
p = Runtime.getRuntime().exec(cmd1);
}// End If
}//End For
}//End Main
由于这是我的第一篇文章,所以我希望我能够清楚地解释我的问题...随时留下关于“如何正确提出问题”的反馈意见!
答案 0 :(得分:3)
这实际上是bash的工作:
#!/bin/bash
for x in img????.rgb; do
convert -size 1024x1024 "$x" "${x%.rgb}.jpg"
done