首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >给出ArgumentError的MiniMagick Image.create方法

给出ArgumentError的MiniMagick Image.create方法
EN

Stack Overflow用户
提问于 2012-02-29 15:18:46
回答 1查看 2.4K关注 0票数 1

我正在使用Ruby 1.9.3创建一个缩略图拼贴。缩略图的加载方式如下:

代码语言:javascript
复制
image1 = MiniMagick::Image.open("1.jpg")

image2 = MiniMagick::Image.open("2.jpg")
image2.rotate "-45>"

image3 = MiniMagick::Image.open("3.jpg")
image3.rotate "45>"

我以前从未使用过ImageMagick或MiniMagick,并且我已经获得了从minimagick GitHub页面合成图像的代码。

代码语言:javascript
复制
collage = MiniMagick::Image.create "jpg", false do |c|
    c.size "1024x768"
    c.canvas "white"
end

collage = collage.composite image1 do |c|
    c.gravity "center"
end

collage = collage.composite image2 do |c|
    c.gravity "east"
end

collage = collage.composite image3 do |c|
    c.gravity "west"
end

collage.write("output.jpg")

问题出现在Image.create命令上。当我使用以下命令运行该文件时

代码语言:javascript
复制
$ ruby prog.rb

我得到以下错误

代码语言:javascript
复制
/Users/vinayshenoy/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/tempfile.rb:250:in `size': wrong number of arguments (1 for 0) (ArgumentError)
from prog.rb:14:in `block in <main>'
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/mini_magick-3.4/lib/mini_magick.rb:158:in `call'
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/mini_magick-3.4/lib/mini_magick.rb:158:in `create'
from prog.rb:13:in `<main>'

脚本文件与图像的目录相同。我通过将image1、image2和image3写成单独的文件进行了测试,它们都可以工作。请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-29 20:34:48

这个错误消息有点奇怪,但是根据http://www.imagemagick.org/script/command-line-options.php?#composite composite的文档,它只有3个参数--你想要合并的两个图像(你在第一行创建的图像和一个叫做图像1的图像),加上一个灰度“掩模”(本例中是image2)。

换句话说,看起来你必须在三个构图中的每一个后保存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9495026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档