Module: ImageProcessing::Vips::Processor::Utils
- Defined in:
- lib/image_processing/vips.rb
Class Method Summary collapse
-
.select_valid_loader_options(source_path, options) ⇒ Object
libvips uses various loaders depending on the input format.
-
.select_valid_options(operation_name, options) ⇒ Object
libvips uses various loaders and savers depending on the input and output image format.
-
.select_valid_saver_options(destination_path, options) ⇒ Object
Filters out unknown options for saving images.
Class Method Details
.select_valid_loader_options(source_path, options) ⇒ Object
libvips uses various loaders depending on the input format.
160 161 162 163 |
# File 'lib/image_processing/vips.rb', line 160 def (source_path, ) loader = ::Vips.vips_foreign_find_load(source_path) loader ? (loader, ) : end |
.select_valid_options(operation_name, options) ⇒ Object
libvips uses various loaders and savers depending on the input and output image format. Each of these loaders and savers accept slightly different options, so to allow the user to be able to specify options for a specific loader/saver and have it ignored for other loaders/savers, we do a little bit of introspection and filter out options that don’t exist for a particular loader or saver.
177 178 179 180 181 182 183 184 185 186 |
# File 'lib/image_processing/vips.rb', line 177 def (operation_name, ) operation = ::Vips::Operation.new(operation_name) = operation.get_construct_args .select { |name, flags| (flags & ::Vips::ARGUMENT_INPUT) != 0 } .select { |name, flags| (flags & ::Vips::ARGUMENT_REQUIRED) == 0 } .map(&:first).map(&:to_sym) .select { |name, value| .include?(name) } end |
.select_valid_saver_options(destination_path, options) ⇒ Object
Filters out unknown options for saving images.
166 167 168 169 |
# File 'lib/image_processing/vips.rb', line 166 def (destination_path, ) saver = ::Vips.vips_foreign_find_save(destination_path) saver ? (saver, ) : end |