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.
168 169 170 171 |
# File 'lib/image_processing/vips.rb', line 168 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.
185 186 187 188 189 190 191 192 193 194 |
# File 'lib/image_processing/vips.rb', line 185 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.
174 175 176 177 |
# File 'lib/image_processing/vips.rb', line 174 def (destination_path, ) saver = ::Vips.vips_foreign_find_save(destination_path) saver ? (saver, ) : end |