class ActiveStorage::Analyzer::ImageAnalyzer
Active Storage Image Analyzer
Это абстрактный базовый класс для анализаторов изображений, которые извлекают ширину и высоту из блока изображения.
Если изображение содержит данные EXIF, указывающие, что его угол равен 90 или 270 градусам, для удобства его ширина и высота меняются местами.
Пример:
ActiveStorage::Analyzer::ImageAnalyzer::ImageMagick.new(blob).metadata
# => { width: 4104, height: 2736 }
Общедоступные методы класса
# File activestorage/lib/active_storage/analyzer/image_analyzer.rb, line 15 def self.accept?(blob) blob.image? end
Общедоступные методы экземпляра
# File activestorage/lib/active_storage/analyzer/image_analyzer.rb, line 19
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.