ruby - RMagick - 如何将网格图像裁剪成图像数组?

标签 ruby imagemagick rmagick

下面的 imageMagick 命令会将一个 Sprite 图像裁剪成几个均分的图像:

convert image.png -crop 2x3-40-20@ +repage +adjoin tile-%d.jpg

我如何使用 Rmagick 执行此操作?但是我不需要创建多个文件,而是需要返回一组图像。

最佳答案

设法通过一次裁剪每个图像来完成它:

def split_images
  #'image' is a ImageMagick Object
  width  = image.cols/number_cols
  height = image.rows/nubmer_rows
  images = []
  0.upto(number_rows-1) do |x|
    0.upto(number_cols-1) do |y|
      images << image.crop( Magick::NorthWestGravity, x*width, y*height, width, height, true)
    end
  end
end

关于ruby - RMagick - 如何将网格图像裁剪成图像数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12354222/

相关文章:

ruby-on-rails - 如何使用 ruby​​ 中的 Google Drive api 获取 Google Drive 文件夹中所有文件的列表

ruby - 如何确定 XFS 文件系统是否以编程方式卡住?

ruby-on-rails - 检查 Controller 的方法是从真实请求还是从 Controller 规范调用的?

Imagemagick:使用亮度/覆盖蒙版从 3 个图像中创建 1 个图像

imagemagick - 在 Mountain Lion 上安装 Rmagick 时出错

ruby-on-rails - Carrierwave #Resize_to_fill 不适用于 Minimagick(仅适用于 rMagick)

ruby - 禁用 Ruby net/http 的 SNI 扩展 - 将 IP 地址与 SSL/TLS 结合使用

css - 相当于 CSS 增亮 + 模糊滤镜的 ImageMagick 命令

ruby-on-rails - CarrierWave::RMagick resize_to_fit 后 PNG 图像质量损失

ruby - 如何使用 ChunkyPNG 或 RMagick 保存 8 位 PNG