跳至内容 跳至搜索

Active Storage 图片分析器

这是一个用于图像分析器的抽象基类,用于从图像 Blob 中提取宽度和高度。

如果图像包含 EXIF 数据,表明其角度为 90 或 270 度,为了方便起见,其宽度和高度会互换。

示例

ActiveStorage::Analyzer::ImageAnalyzer::ImageMagick.new(blob).metadata
# => { width: 4104, height: 2736 }
命名空间
方法
A
M

类公共方法

accept?(blob)

# File activestorage/lib/active_storage/analyzer/image_analyzer.rb, line 15
def self.accept?(blob)
  blob.image?
end

实例公共方法

metadata()

# File activestorage/lib/active_storage/analyzer/image_analyzer.rb, line 19
def metadata
  read_image do |image|
    if rotated_image?(image)
      { width: image.height, height: image.width }
    else
      { width: image.width, height: image.height }
    end
  end
end