gpt4 book ai didi

ruby-on-rails - 图像方向和使用回形针进行验证?

转载 作者:行者123 更新时间:2023-12-04 03:10:11 24 4
gpt4 key购买 nike

我正在寻找一种最好使用Paperclip确定图像方向的方法,但是是否有可能或者我是否需要为此使用RMagick或其他图像库?

案例场景:当用户上传图像时,我想检查方向/大小/尺寸以确定图像是纵向还是横向或正方形,并将此属性保存到模型中。

最佳答案

这是我通常在图像模型中所做的事情。也许会有所帮助:

  • 转换时,我使用IM的-auto-orient选项。这样可以确保上传
  • 后图像始终正确旋转
  • 我在处理后读取了EXIF data并获得了宽度和高度(除其他外)
  • 然后,您可以拥有一个实例方法,该方法根据宽度和高度输出方位字符串

  • has_attached_file :attachment, 
    :styles => {
    :large => "900x600>",
    :medium => "600x400>",
    :square => "100x100#",
    :small => "300x200>" },
    :convert_options => { :all => '-auto-orient' },
    :storage => :s3,
    :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
    :s3_permissions => 'public-read',
    :s3_protocol => 'https',
    :path => "images/:id_partition/:basename_:style.:extension"

    after_attachment_post_process :post_process_photo

    def post_process_photo
    imgfile = EXIFR::JPEG.new(attachment.queued_for_write[:original].path)
    return unless imgfile

    self.width = imgfile.width
    self.height = imgfile.height
    self.model = imgfile.model
    self.date_time = imgfile.date_time
    self.exposure_time = imgfile.exposure_time.to_s
    self.f_number = imgfile.f_number.to_f
    self.focal_length = imgfile.focal_length.to_s
    self.description = imgfile.image_description
    end

    关于ruby-on-rails - 图像方向和使用回形针进行验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1874851/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com