操作系统: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调用命令操作。
程序例子代码:
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);
}
}
分享到:
相关推荐
JMagick通过提供便捷的API调用来实现这一目标,使得开发人员能够快速地对大量图片进行缩放处理,生成一致的、高质量的缩略图。 使用JMagick进行缩图生成的步骤通常包括以下几个方面: 1. **初始化JMagick**:首先...
**JMagick图片处理**是图像操作的重要工具,它是一个Java接口,用于ImageMagick库,使得在Java环境中可以方便地进行图像处理。这个技术涵盖了多个关键知识点,包括创建缩略图、添加水印、切图以及压缩图片,这些都是...
Jmagick广泛应用于图像的转换、裁剪、缩放、颜色调整、合成等多种操作。例如,一个Web应用可能使用Jmagick来动态生成缩略图,或者在上传图片时进行预处理,以确保符合规定的尺寸和格式。 总的来说,Jmagick提供了...
传统的Java库虽然能够实现这些功能,但往往在图片质量方面不尽如人意,尤其是当图片尺寸被大幅度压缩时,画质下降明显,难以满足高清展示的需求。为了解决这一问题,本篇将详细介绍如何使用ImageMagick及其Java接口...
内容:【ImageMagick-6.3.9-0-Q16-windows-dll.exe安装文件】【jmagick-win-6.3.9-Q16内有jar包和dll文件】【java代码示例】 用法: 1、先安装ImageMagick,重启电脑。 2、将jmagick.dll文件拷贝到JAVA_HOME\bin目录...
总的来说,JMagick结合ImageMagick,为Java开发者提供了一个强大的图像处理工具,使得开发者无需关注底层实现,只需编写简单的Java代码即可实现复杂的图像操作。了解和掌握JMagick的使用,对于提升Java应用程序的...
以下是一个简单的JMagick实现图片放缩的示例: ```java import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.Pointer; import org.jmagick.ImageInfo; import org.jmagick.MagickException...
jmagick处理图片,图片高质量压缩,图片加水印。
jmagick.jar java图像应用
JMagick是一款强大的Java接口,它允许Java应用程序与ImageMagick图像处理库进行交互,从而实现丰富的图像操作功能。本文将详细介绍如何在Java环境中安装和配置JMagick,以及如何使用提供的示例进行测试。 ### 1. ...
`jmagick.dll`是一个动态链接库(Dynamic Link Library),它是JMagick在Windows系统中的实现,负责与Java虚拟机交互,执行底层的图像处理任务。而`jmagick.jar`则包含了JMagick的Java类库,提供了Java开发者所需的...
里面包括jmagick 所需所有文件,jmagick.dll,jmagick.jar 还有安装文件, 以及linux安装说明! jmagick jmagick.jar jmagick资料 jmagick缩略图 jmagick jmagick.jar jmagick资料 jmagick缩略图
3. **处理图像**:JMagick 提供了一系列方法来进行图像处理,如缩放、旋转、裁剪等。例如,`resizeImage()` 方法用于调整图像大小,`rotateImage()` 方法用于旋转图像,`cropImage()` 方法用于裁剪图像。 4. **保存...
总结来说,JMagick 6.4.0为Java开发者提供了一套全面的图像处理工具,使得在Java应用程序中实现图像操作变得简单而高效。无论是简单的格式转换还是复杂的图像算法,它都能以一种自然的方式融入到Java编程中。
本文旨在为Java项目中使用jmagick库的ImageMagick安装与配置提供指南。ImageMagick是一款用C语言编写的图像处理工具,它支持对图像进行缩放、旋转、锐化、色彩调整以及特效添加等多种操作。用户既可以通过命令行界面...
要实现在Java中添加水印,我们可以利用开源的图像处理库,如Apache Commons Imaging(原名:Sanselan)、ImageMagick的Java绑定(JMagick)或Java Advanced Imaging (JAI)。这里以Apache Commons Imaging为例,因为...
然而,需要注意的是,虽然JMagick提供了Java接口,但底层仍然是C++实现,因此在使用过程中可能需要关注性能和内存管理问题。 总的来说,JMagick与ImageMagick是Java开发者在进行图像处理时的强大工具,它们能够满足...
JMagick,一个与标题“jmagick-win-6.3.9”相对应的工具,是Java平台上的一个强大扩展,它为Java开发者提供了一个方便的接口来操作ImageMagick库,从而实现高效的图像处理功能。本文将深入探讨JMagick的特性和应用...
2. **图像处理库**:处理图像(包括缩放和裁剪)通常需要用到图像处理库,例如Java的`java.awt.image`包,或更高级的库如ImageMagick的Java绑定(JMagick)、OpenCV或Java Advanced Imaging (JAI)。在这个案例中,...
这个项目的核心是通过Java实现图片的压缩和缩放功能,结合批量处理能力,能够有效地服务于各种Java Web应用中的图片管理需求。开发者可以根据实际场景,灵活调整处理策略,实现高效、稳定、安全的图片服务。