代码之家  ›  专栏  ›  技术社区  ›  fl00r

用ImageScience裁剪图像

  •  0
  • fl00r  · 技术社区  · 16 年前

    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(高度)像素的缩略图。

    2 回复  |  直到 16 年前
        1
  •  3
  •   horseyguy    16 年前

    使用 Devil

    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
    
        2
  •  0
  •   fl00r    16 年前

    with_crop(left, top, right, bottom) 帮助我解决了问题。

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

    推荐文章