1

動的な画像サイズを使用できるようにするために(ええ。知っています)、リクエストごとに一時ファイルを作成するだけの次のことを思いつきましたversion(ジャップ、愚かな私は知っています-[引数に基づいてキャッシュにファイルを保存しますか?])

version :resized do 
  def url(*args) 
    width,height,gravity,region = args[0],args[1],args[2],args[3]
    manipulate! do |img|
      cols, rows = img[:dimensions]
      img.combine_options do |cmd|
        if width != cols || height != rows
          scale = [width/cols.to_f, height/rows.to_f].max
          cols = (scale * (cols + 0.5)).round
          rows = (scale * (rows + 0.5)).round
          cmd.resize "#{cols}x#{rows}"
        end
        cmd.gravity gravity
        cmd.extent "#{width}x#{height}#{region}" if cols != width || rows != height
      end
      img = yield(img) if block_given?
      img
    end 
    convert "jpg"
    super() 
  end 
end 

私が抱えている問題は、processこのバージョンを使用していないため、オリジナルを準複製し、「要求に応じた」操作に使用することです。元のファイルが 100MB の tiff だった場合、これは面倒です。そのため、そのバージョンが実際にファイルを作成しないようにし、その「要求に応じた」操作に別のバージョンのファイルを使用する方法を探しています。何か案は ?

4

0 に答える 0