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.
159 160 161 162 |
# File 'lib/image_processing/vips.rb', line 159 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.
176 177 178 179 180 181 182 183 184 185 |
# File 'lib/image_processing/vips.rb', line 176 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.
165 166 167 168 |
# File 'lib/image_processing/vips.rb', line 165 def (destination_path, ) saver = ::Vips.vips_foreign_find_save(destination_path) saver ? (saver, ) : end |