2010-06-06 8 views
0

ImageScience est cool et léger. Je l'utilise dans mon application sinatra. Mais je ne peux pas comprendre comment je peux recadrer l'image avec la forme non carrée et comment puis-je faire une vignette avec deux dimensions.Recadrer l'image avec ImageScience

Comme je l'ai trouvé sur le site ImageScience:

ImageScience.with_image(file) do |img| 
    img.cropped_thumbnail(100) do |thumb| 
    thumb.save "#{file}_cropped.png" 
    end 

    img.thumbnail(100) do |thumb| 
    thumb.save "#{file}_thumb.png" 
    end 

    img.resize(100, 150) do |img2| 
    img2.save "#{file}_resize.png" 
    end 
end 

je peux pouce rogner et redimensionner le pouce avec une seule dimension mais je veux utiliser deux, comme dans RMagick. Par exemple je veux recadrer la boîte de 100x200px d'image, ou je veux faire la vignette avec la largeur ou la taille pas plus grande que 300 (largeur) ou 500 (taille) pixels.

Répondre

3

Utilisation Devil à la place:

Devil.with_image("horse.png") do |img| 
    img.crop(0, 0, 100, 100) 
    img.resize2(500, 500) 
    img.save("horse_resized.jpg", :quality => 85) 
end 
+0

je peux utiliser ImageMagick ou rmagick à la place. Mais jamais entendu parler du diable. Merci. Je vais regarder – fl00r

+0

@ fl00r, Devil est léger (comme ImageScience). ImageMagick/Rmagick je m'évite, ils sont encombrants, lents, difficiles à installer ... oui – horseyguy

+0

Oui. RMagick est un vrai monstre. Le diable semble assez caractéristique pour moi. – fl00r