class ActiveStorage::Analyzer::ImageAnalyzer
Анализатор изображений Active Storage
Абстрактный базовый класс для анализаторов изображений, извлекающих ширину и высоту из blob изображения.
Если изображение содержит данные EXIF, указывающие, что его угол поворота равен 90 или 270 градусам, ширина и высота меняются местами для удобства.
Пример:
ActiveStorage::Analyzer::ImageAnalyzer::ImageMagick.new(blob).metadata
# => { width: 4104, height: 2736 }
Открытые методы класса
# File activestorage/lib/active_storage/analyzer/image_analyzer.rb, line 20 def self.accept?(blob) blob.image? end
Открытые методы экземпляра
# File activestorage/lib/active_storage/analyzer/image_analyzer.rb, line 24
def metadata
read_image do |image|
if rotated_image?(image)
{ width: image.height, height: image.width }
else
{ width: image.width, height: image.height }
end
end
end
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.