【问题标题】:Cropping layered PNG files with Ruby and MiniMagick使用 Ruby 和 MiniMagick 裁剪分层的 PNG 文件
【发布时间】:2013-10-09 20:08:50
【问题描述】:

我正在使用 Ruby 和 MiniMagick 进行一些图像处理。

我在 png 中添加了一个投影,我正在尝试裁剪一侧以便我可以将它与另一个图像对齐,而不会以一种非常奇怪的方式与它重叠。

我试过用chop。这很有效,除了它只会切断左边缘而不是右边缘。我试过改变重力,但这完全被忽略了。

page1.gravity 'East'
page1.chop '8x0'

上面的代码从左侧切掉 8 个像素,尽管我发现的所有内容都表明它应该从右侧切掉 8 个像素。

我尝试过使用裁剪。对分层图像使用仅裁剪不会返回任何图像。

我尝试过使用裁剪和重新分页:

page1.crop '200x500+0+0'
page1.repage.+

这会返回以下错误:

/Users/elizabethday/.rbenv-usergems/2.0.0-p247/gems/mini_magick-3.6.0/lib/mini_magick.rb:409:in `run': Command ("mogrify -repage /var/folders/HH/HHJiNl08GyWfBCFvHn2R9++++TU/-Tmp-/jpg20131009-14809-1tjeck0") failed: {:status_code=>1, :output=>"mogrify: invalid argument for option `/var/folders/HH/HHJiNl08GyWfBCFvHn2R9++++TU/-Tmp-/jpg20131009-14809-1tjeck0': -repage @ error/mogrify.c/MogrifyImageCommand/5558.\n"} (MiniMagick::Error)
    from /Users/elizabethday/.rbenv-usergems/2.0.0-p247/gems/mini_magick-3.6.0/lib/mini_magick.rb:363:in `combine_options'
    from /Users/elizabethday/.rbenv-usergems/2.0.0-p247/gems/mini_magick-3.6.0/lib/mini_magick.rb:342:in `method_missing'
    from menu_thumbnails.rb:114:in `<main>'

这个错误表明它正在使用 -repage 选项,当我特别告诉它使用 +repage 时。

我已经尝试将 png 展平,但这最终会变成一个黑盒子。

有人对如何让它工作有任何建议吗?

编辑:好的,我发现,一般来说,重力需要在 combine_options 块中使用。

但是,当使用 combine_options 块时,它仍然无法正常工作。

以下块:

page1.combine_options do |c|
  c.gravity 'East'
  c.chop '8x0'
end

完全没有对图像进行切割。所以我似乎在正确裁剪这张图片方面仍然没有取得任何进展。

【问题讨论】:

    标签: ruby image png minimagick


    【解决方案1】:

    repage.+ 也放入您的 combine_options 块中。我遇到了很多与您遇到的相同类型的问题。

    page1.combine_options do |c|
      c.repage.+
      c.gravity 'East'
      c.chop '8x0'
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 2011-05-03
      • 2019-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-31
      相关资源
      最近更新 更多