首先第一件事:我建议你使用 1.4.0 版本的 imagemagick :)。阅读错误似乎您没有配置imagemagick路径。在我使用 imagemagick 代码的 grails 应用程序中,如下所示:
@Value('${externalTools.imagemagick.path:/usr/local/bin}')
private String imagemagickPath
CreateTemporaryThumbnailsResult call(CreateTemporaryThumbnailsEvent event){
log.debug("IMAGEMAGICK PATH: $imagemagickPath")
String originalFilePath = generateOriginalFilePath(event.fileName, event.fileExtension)
String mediumFilePath = generateMediumFilePath(event.fileName, event.fileExtension)
// create command
ConvertCmd cmd = new ConvertCmd();
cmd.setSearchPath(imagemagickPath)
// create the operation, add images and operators/options
IMOperation op = new IMOperation();
op.addImage(originalFilePath);
op.thumbnail(mediumSizeImage, mediumSizeImage)
op.background("white")
op.gravity("center")
op.extent(mediumSizeImage,mediumSizeImage)
op.addImage(mediumFilePath);
// execute the operation
try {
cmd.run(op);
} catch (IOException e) {
return new CreateTemporaryThumbnailsResult(false)
} catch (InterruptedException e){
return new CreateTemporaryThumbnailsResult(false)
} catch(Exception e){
return new CreateTemporaryThumbnailsResult(false)
}
return new CreateTemporaryThumbnailsResult(true, event.fileName + ImageSize.MEDIUM.toString() + "." + event.fileExtension, event.fileName)
}
我以 hipsteroid grails 项目为例来了解如何将 imagemagick 与 grails 一起使用,如果您有任何疑问,我建议您也这样做,它确实充满了有关使用 groovy 和 imagemagick 进行图像处理的信息。