【发布时间】:2014-02-20 14:32:57
【问题描述】:
我正在尝试将 GIF 图像调整为不同的大小。我在 ruby 中使用 RMagick 库。但是对于某些 gif 图像,即使我缩小 GIF 的大小,文件大小似乎也会增加。我正在以相同的纵横比调整图像图像的大小。这是我的代码。
require 'rmagick'
path = "/path/to/file/"
s_image = "image.gif" # image is 320*320
t_image = "t.gif"
file_name = path+s_image
file = File.new(file_name)
list = Magick::ImageList.new.from_blob file.read
list = list.coalesce.remap
list.each do |x|
x.resize_to_fill!(256,256)
end
File.open("#{path+t_image}", 'wb') { |f| f.write list.to_blob }
我错过了什么?
【问题讨论】:
-
您能否举一个变大的示例图像。我最好的猜测是,您从低颜色计数开始,但重新调整大小会为某些像素创建合并颜色,这将在新图像中变得抖动(降低 RLE 效率)或需要原始调色板更大。
-
这里是示例文件 源文件 - dl.dropboxusercontent.com/u/47897449/s_image.gif (602 x 429) 目标文件 - dl.dropboxusercontent.com/u/47897449/t_image.gif (301 x 214) 抱歉,我不是这方面的专家。但是,如果您可以指出某些内容或详细说明我该怎么做。
-
与Ruby无关
-
@Michael Szyndel:它确实与 Ruby 相关,因为它是用 Ruby 编码的,并且解决方案在 Ruby 中可用。我不想撤消您的编辑 - 但现在您可以看到问题和答案仅包含 Ruby 代码,您同意 Ruby 标记现在合适吗?至少这会使自动语法突出显示比我进入并标记两个代码片段更容易
-
另一方面,我必须同意这就像说“如何在 rails 中求和记录”只是 mysql/postgres/etc。问题。再次添加标签。
标签: ruby image-processing rmagick