Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的图像magick问题_Java_Image_Bash_Imagemagick_Resize - Fatal编程技术网

java中的图像magick问题

java中的图像magick问题,java,image,bash,imagemagick,resize,Java,Image,Bash,Imagemagick,Resize,具体来说,我尝试在java上运行下一行: convert /home/mohamed.hegab/Desktop/1263392123111.jpg -gamma .45455 -resize 400x400 -gamma 2.2 -quality 92 /home/mohamed.hegab/Desktop/small.jpg 它在bash命令行上运行得非常好 但是当我使用process builder在java上运行它时,它会给我一个奇怪的结果 public static void re

具体来说,我尝试在java上运行下一行:

 convert /home/mohamed.hegab/Desktop/1263392123111.jpg -gamma .45455 -resize 400x400 -gamma 2.2 -quality 92 /home/mohamed.hegab/Desktop/small.jpg
它在bash命令行上运行得非常好 但是当我使用process builder在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中出现的行很奇怪很奇怪它说


convert:无法打开image
-gamma”:没有这样的文件或目录@blob.c/OpenBlob/2439。
转换:无法打开图像
.45455”:没有这样的文件或目录@blob.c/OpenBlob/2439。 转换:无法打开图像
-resize':没有这样的文件或目录@blob.c/OpenBlob/2439。
转换:无法打开图像
400x400”:没有此类文件或目录@blob.c/OpenBlob/2439。 convert:无法打开image
-gamma”:没有这样的文件或目录@blob.c/OpenBlob/2439。
转换:无法打开图像
2.2”:没有这样的文件或目录@blob.c/OpenBlob/2439。 转换:无法打开图像
-quality]:没有这样的文件或目录@blob.c/OpenBlob/2439。
转换:无法打开图像
92”:没有这样的文件或目录@blob.c/OpenBlob/2439


但是这些图片只有960*960的尺寸,我不知道它是从哪里来的


因此,任何人都可以在这方面帮助我:)

避免
-
之前的空格,shell命令只能识别以
-
开头的选项避免
-
之前的空格,shell命令只能识别以
-
开头的选项答案在这个链接中


简单地说,我应该在数组中将命令切碎,并在没有process builder的情况下正常运行它。答案在这里的链接中


简单地说,我应该在数组中将命令切碎,并在没有process builder的情况下正常运行它

,不幸的是,这不是答案:)我找到了它,它工作得很好。。我会把它写在问题的答案里。谢谢你的努力男人:)不幸的是,这不是答案:)我找到了任何方法,它工作得很好。。我会把它写在问题的答案里。谢谢你的努力,男士:)嗨,穆罕默德·埃马德·赫加布,你是如何为ImageMagick准备静态构建的?你能分享一下代码吗?你是如何为ImageMagick准备静态构建的?你能分享一下密码吗