grails - ImageMagick 和 Grails 不工作

标签 grails groovy imagemagick

当我运行命令制作图像时,我试图让 ImageMagick 从 grails 运行以转换一些图像,但没有任何 react 。我没有收到任何错误,没有任何信息返回任何内容。我已经尝试运行其他命令,如 touch 和 ps ux 只是为了看看它们是否工作并且它们都工作正常。似乎 imagemagick 命令迷路了,我不知道该怎么办。这是我一直在使用的代码。

String command = CH.config.ImageMagickPath + "/convert -size 40x20 xc:red  xc:blue -append -rotate 90 append_rotate.gif"
println command
command.execute()

CH.config.ImageMagickPath 设置为 imagemagick/bin 所在的位置。我已经采取了
打印命令
并在终端中运行它,它工作正常。有什么理由我不能让 IM 从 grails 工作吗?

好的,我只使用 java 对其进行编码,现在我收到此错误:

dyld:库未加载:/ImageMagick-6.6.1/lib/libMagickCore.3.dylib
引用自:/Library/ImageMagick/bin/convert
原因:找不到图片

最佳答案

我刚刚做了一些非常相似的事情:

def convert = ["/usr/bin/convert","/opt/local/bin/convert"].find( { new File(it as String).exists() })
File thumbnail = new File(f.getParentFile(),FilenameUtils.getBaseName(f.getName()) + ".thumbnail.png")
ProcessBuilder pb = new ProcessBuilder()
        .command(convert, f.getName(), "-thumbnail", "128x128>","-bordercolor","snow","-background","black", "-polaroid", "0", thumbnail.getName())
        .directory(f.getParentFile());

int result = pb.start().waitFor()

if( result != 0 ){
  throw new ImageMagickException("thumbnail generation failured, return code:" + result);
}

它有点冗长(Java 在我的脑海中根深蒂固)但它确实有效。

请注意 String.execute返回一个进程对象,需要调用waitFor()在检查任何生成的文件或其他文件之前。还要确保检查此返回代码以查看,因为这会提示您出了什么问题。

关于grails - ImageMagick 和 Grails 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2971854/

相关文章:

hibernate - 在grails中将阿拉伯字符串插入数据库

JavaScript 未在 Grails GSP 中呈现

validation - Grails 2.2.0 - 验证问题

rest - 保存前Grails更新模型

list - Groovy:从字符串列表中弹出最后一个元素

ruby-on-rails - Rails 3/paperclip/imagemagick - 合并两个图像

hibernate - Grails + hibernate 空间+ Postgis:冲突

java - Groovy 用可能的字符串分割字符串

linux - imagemagick -contrast-stretch 不起作用 (v6.7)

php - 无法在 Azure 上加载适用于 PHP 的 Image ImageMagick