Нужны идеи для обработки изображений с использованием attachment_fu - PullRequest
1 голос
/ 14 мая 2010

Я обнаружил ошибку в своем приложении Rails из-за обновлений приложения Rails и гемов и недокументированного кода от предыдущих разработчиков. У меня есть много изображений, которые были обработаны, но не имеют правильного размера с использованием attachment_fu. Все изображения, которые были загружены после обновления, должны быть правильно изменены.

У кого-нибудь есть идеи по переработке всех изображений в папках и изменению их размера до нужных размеров? Я бы не хотел делать все это вручную.

СПАСИБО !! Синди

Ответы [ 3 ]

2 голосов
/ 22 марта 2011

У меня была такая же проблема. Это небольшой метод, который я написал, чтобы заново сгенерировать всю партию, в том числе изменить размеры новых миниатюр и исправить другие проблемы, такие как испорченные размеры родительского изображения.

Надеюсь, это поможет! Сэм, @ Samotage

def self.rebuild_thumbnails
    images = UserUpload.find(:all)
    processed = 0
    not_processed = 0
    puts "---------------------------------"
    puts "rebuilding thumbnails"
    puts " "
    images.each do |image|
      this_type = image.type.to_s
      puts "processing upload: #{image.id} of type: #{this_type}"
      if image.thumbnailable?
        puts "bingo! It's thumbnailable, now rebuilding."
        image.thumbnails.each { |thumbnail| thumbnail.destroy }
        puts "Re-generating main image witdh and height"
        image.save
        puts "Regenerating thumbnails..."
        image.attachment_options[:thumbnails].each { |suffix, size| image.create_or_update_thumbnail(image.create_temp_file, suffix, *size) }
        processed += 1
        puts "Now processed #{processed} images"
        puts ""
      else
        not_processed += 1
      end
    end
    return processed
  end
1 голос
/ 14 мая 2010

attachment_fu использует imagemagic, поэтому вы (вероятно) уже установили его. Вот как это можно использовать через командную строку http://www.imagemagick.org/script/command-line-processing.php

0 голосов
/ 10 сентября 2011

Я нашел этот бит кода на Gist. Мне было приятно изменить размер ресурсов Attachment_fu на Amazon S3

Код задачи Rake в Gist

...