0

ImageScience既酷又轻。我在我的 sinatra 应用程序中使用它。但我不明白如何裁剪非方形图像以及如何制作二维缩略图。

正如我在 ImageScience 网站上发现的:

ImageScience.with_image(file) do |img|
  img.cropped_thumbnail(100) do |thumb|
    thumb.save "#{file}_cropped.png"
  end

  img.thumbnail(100) do |thumb|
    thumb.save "#{file}_thumb.png"
  end

  img.resize(100, 150) do |img2|
    img2.save "#{file}_resize.png"
  end
end

我只能用一个维度裁剪拇指和调整拇指大小,但我想使用两个,就像在 RMagick 中一样。例如,我想从图像中裁剪 100x200px 的框,或者我想制作宽度或高度不大于 300(宽度)或 500(高度)像素的缩略图。

4

2 回答 2

3

改用恶魔

Devil.with_image("horse.png") do |img|
    img.crop(0, 0, 100, 100)
    img.resize2(500, 500)
    img.save("horse_resized.jpg", :quality => 85)
end
于 2010-06-07T12:24:24.007 回答
0

哇,我查看了 ImageScience 的资源并找到了with_crop(left, top, right, bottom)帮助我解决问题的好方法。

http://seattlerb.rubyforge.org/image_science/ImageScience.html

于 2010-06-19T20:25:01.780 回答