2009-11-03 125 views
0

任何人都可以告訴我如何在Ruby on Rails中縮放圖像的方式嗎?在ruby中縮放圖像

+1

你的意思是裁剪圖像?或者是什麼?你有一個例子嗎? – 2009-11-03 07:32:11

+0

我想要的是picasa galary的similer,他們有一個很好的選項來縮放gallary的所有圖片 – 2009-11-03 08:46:12

回答

0

railscast #182關於圖像裁剪。最後

class Client < ActiveRecord::Base 

    LOGO_STYLES = { 
    :original => ['1024x768>', :jpg], 
    :big  => ['512x384#', :jpg], 
    :medium => ['256x192#', :jpg], 
    :small => ['128x96#', :jpg] 
    } 

    has_attached_file :logo, :styles => Client::LOGO_STYLES 
    attr_protected :logo_file_name, :logo_content_type, :logo_size 

,如果你已經擁有你想要的尺寸的圖像,你只需要改變它如何:

如果使用回形針,可以爲縮略圖指定不同的大小,這樣看起來在客戶端上,那麼你的問題不是紅寶石 - 它是JavaScript。谷歌的「JavaScript縮放」,而不是「rails zoom」:)

0

你應該更清楚。

如果你想要做的是讓用戶放大圖像,那麼你應該看看javascript。
例如jqzoom,當鼠標在圖像上時,它會對圖像進行縮放。

如果你想要將圖像的大小調整爲特定大小,那麼這是一個ruby/rails問題。
而且你可以使用paperclip這樣做。

在你的模型,你會添加以下內容:

has_attached_file :my_image, :styles => { :thumb => ["32x32#", :png] } 

這裏的「32×32」將圖像的大小,它已經調整之後。

然後您按照回形針的自述文件查看要添加到視圖中的遷移和信息。
當您驗證您的表單時,圖片將自動上傳並調整大小。

如果您不希望在上傳文件之前調整它們的大小,可以直接使用Paperclip::Thumbnail

和調整具有以下圖像:

Paperclip::Thumbnail.new('/path/to/your/file', { :geometry => '32x32#' }).make 

而且你有你的縮略圖。

+0

Damien Sir, 謝謝你的幫助,我已經在paperclip插件上工作,但是我想要的是similer picasa galary ,,他們有一個很好的選擇來放大gallary的所有照片..我希望我很清楚!我只有這樣的例子。如果有人能幫我做到這一點 – 2009-11-03 08:44:03

+0

然後,你正在尋找JQZoom。看看我的帖子的開頭。 – 2009-11-03 09:25:57

+0

雅我已經看到,jqzoom放大圖像,,請看看Picasa的gallary哪裏有一個觸發器爲所有的galary圖像提供,順便說一句jqzoom也是一個很好的方式來放大圖像,感謝不錯的Java腳本..搜索更多,, – 2009-11-03 09:43:36