首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RMagick无法打开图像

RMagick无法打开图像
EN

Stack Overflow用户
提问于 2013-04-19 23:57:12
回答 1查看 1.6K关注 0票数 1

今天我试着写一个从文件夹中生成动画gif的代码,但是我得到了这个错误:

代码语言:javascript
复制
.../.gem/ruby/2.0.0/gems/rmagick-2.13.2/lib/RMagick.rb:1635:in `read': unable to open image `0.jpg,3.jpg,1.jpg,2.jpg': No such file or directory @ error/blob.c/OpenBlob/2641 (Magick::ImageMagickError)
from .../.gem/ruby/2.0.0/gems/rmagick-2.13.2/lib/RMagick.rb:1635:in `block in initialize'
.../.gem/ruby/2.0.0/gems/rmagick-2.13.2/lib/RMagick.rb:1634:in `each'
.../.gem/ruby/2.0.0/gems/rmagick-2.13.2/lib/RMagick.rb:1634:in `initialize'
from .../bin/scripts/animate.rb:20:in `new'
from .../bin/scripts/animate.rb:20:in `<main>'

代码如下:

代码语言:javascript
复制
#!/usr/bin/env ruby

require 'RMagick'
include Magick

files = Dir.glob"*.jpg"

if (!ARGV[0])
 puts "Usage:"
 puts "animate.rb 10"
 puts "-0 delay ex. 10"
else
  f = files.join(',').to_s
  animation = ImageList.new("#{f}")
  animation.delay = ARGV[0].to_i
  animation.write("animated.gif")
 exit
end

非常感谢;)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-20 00:16:22

ImageList.new希望文件名作为参数,一次一个。您仅提供了一个参数,即连接文件名的字符串。因此,不是

代码语言:javascript
复制
f = files.join(',').to_s
animation = ImageList.new("#{f}")

使用

代码语言:javascript
复制
animation = ImageList.new *files

*files指示ruby将数组成员展开为单独的参数

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

https://stackoverflow.com/questions/16108723

复制
相关文章

相似问题

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