操作系统:winXP
软件下载地址:http://downloads.jmagick.org/
用的是6.3.9
下载ImageMagick-6.3.9-0-Q8-windows-dll.exe和jmagick-win-6.3.9-Q8.zip
安装ImageMagick-6.3.9-0-Q8-windows-dll.exe,按照网上说法把安装后根目录下的所有.dll文件拷贝到C:\WINDOWS\system32下。不过没拷贝成功。略之不理。
jmagick-win-6.3.9-Q8.zip解压缩。将里面的jmagick.dll拷贝至C:\WINDOWS\system32下最好JAVAHOME/bin下也放一份。
配置环境变量path加入C:\Program Files\ImageMagick-6.3.9-Q8(自己视情况在而变)
将jmagick-win-6.3.9-Q8.zip里jmagick.jar放入自己的工程
这里用的是java调用命令操作。
程序例子代码:
软件下载地址:http://downloads.jmagick.org/
用的是6.3.9
下载ImageMagick-6.3.9-0-Q8-windows-dll.exe和jmagick-win-6.3.9-Q8.zip
安装ImageMagick-6.3.9-0-Q8-windows-dll.exe,按照网上说法把安装后根目录下的所有.dll文件拷贝到C:\WINDOWS\system32下。不过没拷贝成功。略之不理。
jmagick-win-6.3.9-Q8.zip解压缩。将里面的jmagick.dll拷贝至C:\WINDOWS\system32下最好JAVAHOME/bin下也放一份。
配置环境变量path加入C:\Program Files\ImageMagick-6.3.9-Q8(自己视情况在而变)
将jmagick-win-6.3.9-Q8.zip里jmagick.jar放入自己的工程
这里用的是java调用命令操作。
程序例子代码:
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- public class Aa {
- public static String CONVERT_PROG = "C:\\Program Files\\ImageMagick-6.3.9-Q8\\convert.exe";//视情况而变
- public static void main(String[] args) {
- File in = new File("C:\\1.gif");//源文件
- File out = new File("C:\\2.gif");//输出文件
- convert(in,out,300,100,100,10);
- }
- /*
- * Uses a Runtime.exec()to use imagemagick to perform the given conversion
- * operation. Returns true on success, false on failure. Does not check if
- * either file exists.
- *
- * @param in Description of the Parameter @param out Description of the
- * Parameter @param newSize Description of the Parameter @param quality
- * Description of the Parameter @return Description of the Return Value
- */
- @SuppressWarnings("unchecked")
- private static boolean convert(File in, File out, int width, int height,
- int quality,int newSize) {
- System.out.println("convert(" + in.getPath() + ", " + out.getPath()
- + ", " + newSize + ", " + quality);
- if (quality < 0 || quality > 100) {
- quality = 75;
- }
- ArrayList command = new ArrayList(10);
- // note: CONVERT_PROG is a class variable that stores the location of
- // ImageMagick's convert command
- // it might be something like "/usr/local/magick/bin/convert" or
- // something else, depending on where you installed it.
- command.add(CONVERT_PROG);
- command.add("-geometry");
- command.add(width + "x" + height);
- command.add("-quality");
- command.add("" + quality);
- command.add(in.getAbsolutePath());
- command.add(out.getAbsolutePath());
- System.out.println(command);
- return exec((String[]) command.toArray(new String[1]));
- }
- /**
- * Tries to exec the command, waits for it to finsih, logs errors if exit
- * status is nonzero, and returns true if exit status is 0 (success).
- *
- * @param command
- * Description of the Parameter
- * @return Description of the Return Value
- */
- private static boolean exec(String[] command) {
- Process proc;
- try {
- // System.out.println("Trying to execute command " +
- // Arrays.asList(command));
- proc = Runtime.getRuntime().exec(command);
- } catch (IOException e) {
- System.out
- .println("IOException while trying to execute " + command);
- return false;
- }
- // System.out.println("Got process object, waiting to return.");
- int exitStatus;
- while (true) {
- try {
- exitStatus = proc.waitFor();
- break;
- } catch (java.lang.InterruptedException e) {
- System.out.println("Interrupted: Ignoring and waiting");
- }
- }
- if (exitStatus != 0) {
- System.out.println("Error executing command: " + exitStatus);
- }
- return (exitStatus == 0);
- }
- }