我想调整图像大小,例如:convert 1.jpg -resize 250x240> 1.jpg
我写一些这样的代码:
File f=new File(request.getRealPath("/")+"pics/"+d.getTime()+"_"+ttt+suffix);
StringBuffer sb=new StringBuffer();
sb.append("'convert "+f.getAbsolutePath()+" -resize 250x240\\> "+f.getAbsolutePath()+"'");
String command=sb.toString();
Process p=Runtime.getRuntime().exec(command);
int returnv=p.waitFor();
System.out.println("command:"+command+" returnV:"+returnv);
但是我发现,当我添加'>'标志时,命令失败。我该如何解决?
最佳答案
>
字符不是转换命令的标志,而是将输出重定向到文件1.jpg
的标志。您可以只使用输出文件参数调用convert
并避免重定向。代替:
convert 1.jpg -resize 250x240> 1.jpg
采用
convert -resize 250x240 1.jpg 1_resized.jpg
顺便说一句,您正在转义反斜杠
-resize 250x240\\>
,也许这不是必需的,您可以简单地编写-resize 250x240 >
。更新:也许您可以使用JMagick(ImageMagick的Java库)代替执行系统进程来转换图像。