Module: SafeImage::API::Transform
- Included in:
- SafeImage
- Defined in:
- lib/safe_image/api/transform.rb
Overview
Public image-producing operations. Every method requires explicit output paths; callers own any file replacement outside this API.
Instance Method Summary collapse
- #convert(input:, output:, format:, quality: nil, optimize: true, max_pixels: nil, chroma_subsampling: :auto) ⇒ Object
- #convert_favicon_to_png(input:, output:, optimize: true, max_pixels: nil) ⇒ Object
- #crop(input:, output:, width:, height:, quality: nil, optimize: true, max_pixels: nil, chroma_subsampling: :auto) ⇒ Object
- #downsize(input:, output:, dimensions:, optimize: true, max_pixels: nil, quality: QualityDefaults::JPEG, chroma_subsampling: :auto) ⇒ Object
- #fix_orientation(input:, output:, max_pixels: nil, quality: nil) ⇒ Object
- #letter_avatar(output:, size:, background_rgb:, letter:, pointsize: 280, font: "DejaVu-Sans") ⇒ Object
- #optimize(input:, output:, mode: :lossless, strip_metadata: true, quality: nil, strict: true) ⇒ Object
- #resize(input:, output:, width:, height:, quality: nil, optimize: true, max_pixels: nil, chroma_subsampling: :auto) ⇒ Object
- #thumbnail(input:, output:, width:, height:, format: nil, quality: QualityDefaults::JPEG, max_pixels: nil, optimize: false, optimize_mode: :lossless, chroma_subsampling: :auto) ⇒ Object
Instance Method Details
#convert(input:, output:, format:, quality: nil, optimize: true, max_pixels: nil, chroma_subsampling: :auto) ⇒ Object
109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/safe_image/api/transform.rb', line 109 def convert(input:, output:, format:, quality: nil, optimize: true, max_pixels: nil, chroma_subsampling: :auto) transform_operations.convert( input: input, output: output, format: format, quality: quality, optimize: optimize, max_pixels: max_pixels, chroma_subsampling: chroma_subsampling ) end |
#convert_favicon_to_png(input:, output:, optimize: true, max_pixels: nil) ⇒ Object
125 126 127 128 129 130 131 132 |
# File 'lib/safe_image/api/transform.rb', line 125 def convert_favicon_to_png(input:, output:, optimize: true, max_pixels: nil) transform_operations.convert_favicon_to_png( input: input, output: output, optimize: optimize, max_pixels: max_pixels ) end |
#crop(input:, output:, width:, height:, quality: nil, optimize: true, max_pixels: nil, chroma_subsampling: :auto) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/safe_image/api/transform.rb', line 67 def crop( input:, output:, width:, height:, quality: nil, optimize: true, max_pixels: nil, chroma_subsampling: :auto ) transform_operations.crop( input: input, output: output, width: width, height: height, quality: quality, optimize: optimize, max_pixels: max_pixels, chroma_subsampling: chroma_subsampling ) end |
#downsize(input:, output:, dimensions:, optimize: true, max_pixels: nil, quality: QualityDefaults::JPEG, chroma_subsampling: :auto) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/safe_image/api/transform.rb', line 89 def downsize( input:, output:, dimensions:, optimize: true, max_pixels: nil, quality: QualityDefaults::JPEG, chroma_subsampling: :auto ) transform_operations.downsize( input: input, output: output, dimensions: dimensions, optimize: optimize, max_pixels: max_pixels, quality: quality, chroma_subsampling: chroma_subsampling ) end |
#fix_orientation(input:, output:, max_pixels: nil, quality: nil) ⇒ Object
121 122 123 |
# File 'lib/safe_image/api/transform.rb', line 121 def fix_orientation(input:, output:, max_pixels: nil, quality: nil) transform_operations.fix_orientation(input: input, output: output, max_pixels: max_pixels, quality: quality) end |
#letter_avatar(output:, size:, background_rgb:, letter:, pointsize: 280, font: "DejaVu-Sans") ⇒ Object
134 135 136 137 138 139 140 141 142 143 |
# File 'lib/safe_image/api/transform.rb', line 134 def letter_avatar(output:, size:, background_rgb:, letter:, pointsize: 280, font: "DejaVu-Sans") transform_operations.letter_avatar( output: output, size: size, background_rgb: background_rgb, letter: letter, pointsize: pointsize, font: font ) end |
#optimize(input:, output:, mode: :lossless, strip_metadata: true, quality: nil, strict: true) ⇒ Object
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/safe_image/api/transform.rb', line 34 def optimize(input:, output:, mode: :lossless, strip_metadata: true, quality: nil, strict: true) transform_operations.optimize( input: input, output: output, mode: mode, strip_metadata: , quality: quality, strict: strict ) end |
#resize(input:, output:, width:, height:, quality: nil, optimize: true, max_pixels: nil, chroma_subsampling: :auto) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/safe_image/api/transform.rb', line 45 def resize( input:, output:, width:, height:, quality: nil, optimize: true, max_pixels: nil, chroma_subsampling: :auto ) transform_operations.resize( input: input, output: output, width: width, height: height, quality: quality, optimize: optimize, max_pixels: max_pixels, chroma_subsampling: chroma_subsampling ) end |
#thumbnail(input:, output:, width:, height:, format: nil, quality: QualityDefaults::JPEG, max_pixels: nil, optimize: false, optimize_mode: :lossless, chroma_subsampling: :auto) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/safe_image/api/transform.rb', line 8 def thumbnail( input:, output:, width:, height:, format: nil, quality: QualityDefaults::JPEG, max_pixels: nil, optimize: false, optimize_mode: :lossless, chroma_subsampling: :auto ) transform_operations.thumbnail( input: input, output: output, width: width, height: height, format: format, quality: quality, max_pixels: max_pixels, optimize: optimize, optimize_mode: optimize_mode, chroma_subsampling: chroma_subsampling ) end |