Sha256: 8e6f4fdf417cbbf1033420f38c98f117f014e06e5868cefcbde41a0673188bb7
Contents?: true
Size: 975 Bytes
Versions: 1
Compression:
Stored size: 975 Bytes
Contents
require 'vips' module DragonflyLibvips module Analysers class ImageProperties DPI = 300 def call(content) return {} unless content.ext return {} unless SUPPORTED_FORMATS.include?(content.ext.downcase) input_options = {} input_options['access'] = 'sequential' input_options['autorotate'] = true if content.mime_type == 'image/jpeg' input_options['dpi'] = DPI if content.mime_type == 'application/pdf' img = ::Vips::Image.new_from_file(content.path, **DragonflyLibvips.symbolize_keys(input_options)) width = img.width height = img.height xres = img.xres yres = img.yres { 'format' => content.ext.to_s, 'width' => width, 'height' => height, 'xres' => xres, 'yres' => yres, 'progressive' => (content.mime_type == 'image/jpeg' && img.get('jpeg-multiscan') != 0) } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dragonfly_libvips-2.5.0 | lib/dragonfly_libvips/analysers/image_properties.rb |