[英]image magick problem with java
具體來說,我正在嘗試在Java上運行下一行:
convert /home/mohamed.hegab/Desktop/1263392123111.jpg -gamma .45455 -resize 400x400 -gamma 2.2 -quality 92 /home/mohamed.hegab/Desktop/small.jpg
這在bash命令行上運行很好,但是當我使用流程生成器在java上運行它時,它給了我奇怪的結果。
public static void resizeImage(String srcPath, String destPath,String size) {
ProcessBuilder pb = new ProcessBuilder("convert", srcPath , " -gamma", ".45455",
" -resize",size, " -gamma ", "2.2", " -quality",
"92" , destPath);
pb.redirectErrorStream(true);
InputStreamReader isr = null;
BufferedReader br = null;
try {
Process p = pb.start();
p.waitFor();
isr = new InputStreamReader(p.getInputStream());
br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
LOG.error("Exception while trying to convert text to image", e);
} finally {
try {
if(isr != null) {
isr.close();
}
if(br != null) {
br.close();
}
} catch (IOException e) {
LOG.error("Could not close stream", e);
}
}
}
system.out中出現的行很奇怪,很奇怪,它說
轉換:無法打開圖像-gamma': No such file or directory @ blob.c/OpenBlob/2439. convert: unable to open image
-gamma': No such file or directory @ blob.c/OpenBlob/2439. convert: unable to open image
.45455':無此類文件或目錄@ blob.c / OpenBlob / 2439。 convert:無法打開圖像-resize': No such file or directory @ blob.c/OpenBlob/2439. convert: unable to open image
-resize': No such file or directory @ blob.c/OpenBlob/2439. convert: unable to open image
400x400':沒有這樣的文件或目錄@ blob.c / OpenBlob / 2439。 轉換:無法打開圖像-gamma ': No such file or directory @ blob.c/OpenBlob/2439. convert: unable to open image
-gamma ': No such file or directory @ blob.c/OpenBlob/2439. convert: unable to open image
2.2':沒有此類文件或目錄@ blob.c / OpenBlob / 2439。 convert:無法打開圖像-quality': No such file or directory @ blob.c/OpenBlob/2439. convert: unable to open image
-quality': No such file or directory @ blob.c/OpenBlob/2439. convert: unable to open image
92':沒有這樣的文件或目錄@ blob.c / OpenBlob / 2439。
但是圖像僅以960 * 960的尺寸顯示,我不知道它來自哪里。
所以任何人都可以在這方面幫助我:)
在-
之前,請避免空格,shell命令只能識別以-
開頭的選項。
答案在這里
http://www.darcynorman.net/2005/03/15/jai-vs-imagemagick-image-resizing/
簡而言之,我應該將命令切成數組並在沒有進程生成器的情況下正常運行
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.