`

使用mogrify 转化图片格式为RGB

阅读更多

mogrify 下载地址:http://www.imagemagick.org/script/binary-releases.php#windows

cmd执行结果:

 mogrify -colorspace RGB -quality 100 "D:\software\eclipse\workspace2\demo_channel_terminal\src\main\resources\mini.jpg"

说明:最后一个参数是要转化的图片全路径.

 

那么如何使用java 来调用呢?

测试代码:

@Test
	    public void test02()
	    {
	        Process p = null;
	        String []command = null;

	        command = new String[]{"cmd"," /c ","mogrify.exe" ,"-colorspace", "RGB", "-quality" ,"100" ,"\"D:\\software\\eclipse\\workspace2\\demo_channel_terminal\\src\\main\\resources\\mini.jpg\""};//cmd /c is needed
	        BufferedReader reader = null;
	        try
	        {
	            p = Runtime.getRuntime().exec(command, null);//)
	            reader = new BufferedReader(new InputStreamReader(p
	                    .getErrorStream(),"gbk"));
	            StringBuilder sb = new StringBuilder();
	            String readedLine = null;
	            try
	            {
	                while ((readedLine = reader.readLine()) != null)
	                {
	                    sb.append(readedLine);
	                    sb.append("\r\n");
	                }
	            }
	            catch (IOException e)
	            {
	                e.printStackTrace();
	            }
	            finally
	            {
	                try
	                {
	                    reader.close();
	                    p.destroy();
	                }
	                catch (IOException e)
	                {
	                    e.printStackTrace();
	                }
	            }
	            String content = sb.toString();
	            System.out.println(content);
	        }
	        catch (IOException e)
	        {
	            e.printStackTrace();
	        }

	    }

 执行报错:

 'mogrify.exe' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

但是我在命令行里面执行没有问题呀!!!

为什么命令行里面没问题,java调用就有问题呢?

最后找到了原因:java执行本地命令时要指定命令(exe文件)所在路径

String commandFolder="D:\\Program Files\\ImageMagick-6.8.9-Q16\\";

           p = Runtime.getRuntime().exec(command, null,new File(commandFolder/*命令的所在目录*/));//)

           reader = new BufferedReader(new InputStreamReader(p

                   .getErrorStream(),"gbk"));

 

正确的代码如下:

@Test
	    public void test02()
	    {
	        Process p = null;
	        String []command = null;
//	        command = new String[]{"cmd"," /c ","dir"};//cmd /c is needed
	        command = new String[]{"cmd"," /c ","mogrify.exe" ,"-colorspace", "RGB", "-quality" ,"100" ,"\"D:\\software\\eclipse\\workspace2\\demo_channel_terminal\\src\\main\\resources\\mini.jpg\""};//cmd /c is needed
	        BufferedReader reader = null;
	        try
	        {
	        	String commandFolder="D:\\Program Files\\ImageMagick-6.8.9-Q16\\";
	            p = Runtime.getRuntime().exec(command, null,new File(commandFolder/*命令的所在目录*/));//)
	            reader = new BufferedReader(new InputStreamReader(p
	                    .getErrorStream(),"gbk"));
	            StringBuilder sb = new StringBuilder();
	            String readedLine = null;
	            try
	            {
	                while ((readedLine = reader.readLine()) != null)
	                {
	                    sb.append(readedLine);
	                    sb.append("\r\n");
	                }
	            }
	            catch (IOException e)
	            {
	                e.printStackTrace();
	            }
	            finally
	            {
	                try
	                {
	                    reader.close();
	                    p.destroy();
	                }
	                catch (IOException e)
	                {
	                    e.printStackTrace();
	                }
	            }
	            String content = sb.toString();
	            System.out.println(content);
	        }
	        catch (IOException e)
	        {
	            e.printStackTrace();
	        }

	    }

  mogrify网盘下载地址:http://pan.baidu.com/s/1i3vHPOh

安装完成之后目录情况:

 

参考:http://iaiai.iteye.com/blog/1461370

注意:

(1)java 执行dir或ipconfig的命令不需要执行命令所在目录,但是执行用户安装上的exe就必须执行命令所在目录;

(2)java执行操作系统命令时一定要加上"cmd  /c"

  • 大小: 23.7 KB
  • 大小: 13.7 KB
  • 大小: 48.6 KB
1
0
分享到:
评论
3 楼 hw1287789687 2014-12-30  
D:\software\bin>"D:\Program Files\ImageMagick-6.8.9-Q16w\mogrify.exe" -colorspac
e RGB -quality 80 "D:\picture\scan\IMG_20141230_0008.jpg"

相关推荐

    Python库 | mogrify-0.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:mogrify-0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    grunt-mogrify:用于替换和转换文本的繁重任务,主要用于源代码

    通过以上介绍,我们可以看出 `grunt-mogrify` 在前端开发中的重要性,它为自动化文本处理提供了一个强大且灵活的工具,减少了手动操作的时间和出错几率,提升了整体的开发效率。如果你的项目中涉及到大量文本替换和...

    Linux的_ImageMagic图片转换.pdf

    - 使用 mogrify 命令对图片直接进行处理,如调整大小、颜色等。 在Linux系统中,为了确保ImageMagick能够正确识别动态库,需要设置环境变量LD_LIBRARY_PATH,并运行ldconfig命令更新动态库缓存。 ImageMagick的...

    ImageMagick

    通过Image Magick/mogrify/GIMP/exiftool等工具来"convert"或"mogrify"图片,删除png图片中内嵌的iCCP profile sRGB: Image Magick使用举例: 删除单个png文件内的profile: % convert -strip <input filename> ...

    一行命令,搞定常见图片、音频、视频、文本格式转换 - 少数派1

    ImageMagick 支持常见的图片格式转换,还能进行图片的尺寸调整和质量控制。而 FFmpeg 不仅能转换视频和音频格式,还可以实现视频到音频的分离,对于多媒体处理非常便利。Pandoc 则是文本格式转换的利器,能够处理...

    Perl-Mogrify:使用插件系统将Perl5代码转换为Perl6

    由于原始的Perl :: Critic模块仍然保留在幕后,因此您仍然应该能够使用原始配置和.rc系统。 通过获取一个现有的perl5文件并对其进行编辑,直到在Perl6下干净地进行编译,才可以轻松选择核心转换。 作者不保证该...

    如何将WebP图片变为jpg,png图片下载下来.zip

    要将WebP图片转换为JPEG或PNG,我们可以使用多种方法,这里主要介绍两种: 1. 使用在线转换工具(如"1.改URL"暗示的可能方法): - 许多网站提供免费的在线图像格式转换服务。只需上传WebP文件,选择目标格式...

    ImageMagick学习心得

    比如,将所有`.jpg`文件批量转换为`.png`格式,可以使用`mogrify -format png *.jpg`。 2. **mogrify**:类似于convert,但mogrify会直接修改原文件,而不是创建新文件。例如,`mogrify -format png *.jpg`会将所有...

    迁移:Elixir中的图像处理(ImageMagick命令行包装器)

    - **格式转换**:将图片从一种格式转换为另一种,如从JPEG转换为PNG。 - **裁剪**:根据特定的坐标和尺寸裁剪图片。 - **旋转**:根据角度旋转图片。 - **添加边框**:为图片添加边框。 - **颜色空间转换**:例如,...

    利用Js进行图片 放大,缩小,裁切工具,后台采用注明的ImageMagik组件处理图片

    在本文中,我们将深入探讨如何使用JavaScript实现图片的放大、缩小和裁切功能,并结合ImageMagick组件在后台处理图片。这些技术对于前端开发者来说至关重要,因为它们允许用户交互式地编辑图片,同时通过后端服务...

    the definitive guide yo imagemagick

    Imagemagick非常适合批量处理图片、转换图片格式、调整图片大小、旋转和扭曲图片等操作。由于其功能丰富,它通常被开发者用于图像处理的脚本编写和自动化任务。 接着,解析Imagemagick的典型应用场景。Imagemagick...

    LR摄影边框插件

    Lightroom摄影后期插件,让边框更容易实现。

    图片压缩工具ImageMagick

    ImageMagick是一款强大的开源图像处理工具,主要用于创建、编辑、合成和转换各种图像格式。它由C语言编写,以其高效和轻量级的特性而受到广泛赞誉,不会占用过多的系统资源,尤其在处理大量图像时表现优秀。这款工具...

    用ImageMagick命令行处理图片

    例如,`convert input.png output.jpg`这条命令将把PNG格式的图片转换为JPEG格式。 2. **缩略图和缩放**:`convert`命令可以用来生成缩略图和等比例缩放图片。如`convert -sample 100x20 input.jpg output.jpg`创建...

    Transmogrify for Plex-crx插件

    为Plex的Plex / Web 2.0客户端添加了几个功能 Transmogrify for Plex为Plex的Plex / Web 2.0客户端增加了一些功能。 每个功能都可以通过设置页面单独启用或禁用。 这些当前包括:-添加链接以在Plex / Web中查看电影...

    imagemagick资源全套

    本篇文章将深入探讨如何在Linux系统中安装并使用ImageMagick,以及涉及的JPEG和TIFF图像格式的相关知识。 一、ImageMagick的功能与优势 ImageMagick的核心功能包括: 1. 图像的创建:可以从颜色、渐变、噪声或...

    LRMogrify2.lrplugin.5.10.zip

    Light room导出照片插件。LrMogrify可以直接在LR里给PP加边框、水印、文字。直接一站式处理了,不需要另外找Photoshop或者别的什么了。 启动LR,点击“文件”菜单中的“增效工具管理器”。在弹出对话框中点击...

    Jhead (Exif 信息批量命令行编辑工具,win命令行,含源代码)一个直接用命令查看修改删除图片属性Exif信息的文件

    跟所有的命令行工具一样,它的使用方法为:jhead参数列表jpg文件列表 比如: jhead-se1jpg处理单个文件 jhead-se2009_[0-9]jpg处理指定的多个文件 jhead-se*jpg处理所有文件 另外,你甚至可以用**通配符来代替子目录...

    full circle(ubuntu杂志)

    - **图像处理命令:** 如使用mogrify命令调整图片大小、格式转换等。 - **系统管理命令:** 如sudo命令的使用,包括添加/删除用户、修改密码等。 - **网络工具:** 使用strace跟踪wget命令执行过程,深入了解网络...

    arisgarden:电子食谱

    可以使用ImageMagick's mogrify命令将图像序列转换为gif: mogrify -resize 400 * .JPG convert -delay 5 -loop 0 * .JPG output.gif 有关添加新页面的注意事项。 添加新的(有状态的)页面时,您必须进行一些更改

Global site tag (gtag.js) - Google Analytics