【问题标题】:Identify image depth and print size via Carrierwave, mini-magick and ImageMagick通过 Carrierwave、mini-magick 和 ImageMagick 识别图像深度和打印尺寸
【发布时间】:2014-02-06 16:08:02
【问题描述】:

目标是根据动态高度和宽度参数以及 DPI 验证图像。

ImageMagick 有以下命令,Identify 有很多选项。

-density

将生成几何宽度x高度

-verbose

将在其他 78 条不同的行中生成有用的“打印尺寸:”和“分辨率”...其中需要解析出宽度和高度以满足最低要求 +/- 2%

那么如何将这些提取到一种方法中,而无需踩到中间脚趾(迷你魔术)?

【问题讨论】:

  • 虽然开销有点大,但您可能想考虑使用 MiniExiftool 轻松提取元数据。

标签: ruby-on-rails-3 imagemagick carrierwave minimagick


【解决方案1】:

正如section on meta-information 所示,MiniMagick 在一次调用中使用 ImageMagick 函数访问数据,例如高度密度:

image["%y"]

ImageMagick 有 47 个single-letter attribute percent escapes 允许提取数据,前提是您对图像的调用包含“.path”后缀

image = MiniMagick::Image.open(@yourClass.theColumn.path)

【讨论】:

    猜你喜欢
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多