2009-08-23 6 views
2

Je suis à la recherche de pierres précieuses qui me permettront de redimensionner et de filigrane des images téléchargées.Comment redimensionner et filigraner des images dans Ruby/Rails?

Je vois beaucoup de publications sur ImageScience et Mini-Magick mais rien de plus récent. Je suis à la recherche d'expériences qui m'aideront à prendre une décision.

Répondre

7

Je vous recommande d'utiliser Paperclip pour télécharger les images. Avec Paperclip, vous définissez la manière dont vous souhaitez traiter les images après le téléchargement.

Redimensionnement automatique est accompli en définissant des valeurs dans votre modèle téléchargement

class User < ActiveRecord::Base 
    has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" } 
end 

Voici un bon exemple de la création d'un Post Processors et un autre pour ajouter un watermark with ImageMagick.

Il est à noter que vous avez déjà une application (avec les images mises en ligne) en direct, vous pouvez « re-run » les commandes Paperclip dessus à nouveau avec la commande:

rake paperclip:refresh ModelName RAILS_ENV=production 
+2

sur le mien (v2.4.5), c'est rake trombone: refresh class = ModelName – Rystraum

3

J'utilise actuellement RMagick sur un couple de produits et cela fonctionne bien pour moi. Cependant, les gens se plaignent constamment de its memory usage. La documentation peut être un peu confuse cependant.

Un nouveau projet dont j'ai entendu parler est MagickWand for Ruby. Mais je n'ai aucune expérience avec ça.

0

Je recommande juste un petit bijou que je me suis écrit:

la page GitHub: https://github.com/wrymax/image_clipper

Il est très simple de l'utiliser pour redimensionner et image watermarking. En outre, cela fonctionne bien avec Paperclip dans ROR.

Ajoutez simplement:

gem install image_clipper 

Et installer ImageMagick comme traitement d'images de base lib:

brew install imagemagick 

Exemple de code:

image.resize('200x100', save_new_file_path) 

image.resize('35%') 

image.watermarking(watermark_image_path) 

Hope it helps.

Questions connexes