2013-01-11 50 views
2

我想根據用戶屏幕的大小將圖像傳送到客戶端,如果我有高分辨率圖像,並且用戶希望在移動設備上查看它,我不會要發送的全高清圖像,而不是我想發送圖像收縮到用戶的設備尺寸,這將增加對低帶寬設備的加載速度適用於基於ruby的服務器的自適應圖像

有這個here

自適應數字圖像檢測解決方案訪問者的屏幕大小,並自動創建,緩存並提供設備適當的縮放版本的網頁嵌入式HTML圖像。它旨在用於響應式設計並與流體成像技術結合使用。(從給出的鏈接)

我看到php & apache基於服務器這樣的解決方案,是有其具有基於Ruby的服務器的Web應用程序的解決方案?一個gem可能...謝謝

回答

-1

我認爲沒有什麼特別的服務adaptive images。這取決於您如何設置前端:您使用media queries來解析用戶的屏幕尺寸並決定圖像大小。您肯定可以爲您的目的使用Rails框架。有一些響應式設計實現可以很好地與Rails合作 - Twitter Bootstrap是一個着名的實現。

+0

我的意思是我有一個形象1920X1080px與寬度和高度設置爲100%的圖像請求,並傳輸給AdaptiveImagesController#adapt_and_serve,現在如果640x480px屏幕的移動用戶查看網站時,他會看到適合他的屏幕的圖像,但下載的圖像的分辨率爲1920x1080像素,我想要的是,如果我爲他調整大小爲640x480的圖像,則需要下載一個較小的圖像和網站加載速度比以前的情況下,讓我? –

+0

當然,只需嘗試引導響應或查看[此鏈接](http:// timkadlec。com/2012/02/media-query-asset-download-tests /)。 –

+0

所以你的意思是不同的圖像爲不同的用戶在服務器上的屏幕分辨率(約5-6不同大小),然後使用媒體查詢按照用戶屏幕尺寸將圖像url指向指定的圖像,對不對? –

5

媒體查詢只適用於CSS背景圖像。

順便說一句,像解決方案的Adaptive-Images並不是很難實現。

它們只是動態地代替網絡服務器提供圖像,緩存自適應圖像以加快速度,避免浪費資源。

根據保存請求設備分辨率的cookie的值調整圖像大小並進行緩存。

說,你在Rails的是,採取以下步驟:

  1. 追加該JavaScript行<head>部分在佈局:

    <script>document.cookie='resolution='+Math.max(screen.width,screen.height)+'; path=/‘;</script>

  2. 與添加AdaptiveImagesController行動adapt_and_serve

  3. 讓讀取/緩存/修改並提供與每個請求相對應的文件(帶有遠遠未來的exipiration頭文件)。

  4. 規則添加到routes.rb趕上那需要適應

+0

關於使用CDN的人們呢? –

相關問題