2014-04-11 3 views
1

루비 온 레일즈 3.2고해상도 이미지를 빠른 미리보기로 렌더링

나는 220 x 180 픽셀로 렌더링하는 1800 x 1200 픽셀의 이미지를 가지고 있습니다. 이미지는 공용 디렉토리에 있습니다. 렌더링에 약간의 시간이 걸리며, 어떻게 렌더링 속도를 높이겠습니까?

내보기 : 이미지의 썸네일을

<% @images.each_slice(3) do |slice| %> 
    <div class="row"> 
      <ul class="thumbnails"> 
       <% slice.each do |image| %> 
        <li class="span3"> 
         <h4 style="text-align: center;"><%= File.basename(image) %></h4> 
        <% image_path = ["", File.dirname(image).split("public"),"/", File.basename(image)].join('') %> 
        <%= link_to image_tag(image_path), image_path[/\/.*/]%> 
      </li> 
     <% end %> 
     </ul> 
    </div> 
<% end %> 

내 스타일.

li.span3 img{ 
    width: 220px; 
    max-height: 180px; 
} 

더 빠르게 렌더링 할 수있는 아이디어가 있습니까? 어쩌면 응용 프로그램 컨트롤러에서 응용 프로그램을 사용하거나 무언가를 사용하기 위해 축소판을로드 할 수 있습니까?

+0

가 일부 미리 서버를 만들 필요가 : 발견 빠른 구글 -

는 그 작업을 수행하는 정확한 방법은 당신이 들여다해야하는지 서버 측의 크기를 조정하고 다운로드 빠른 것

입니다 - 측면 - 이렇게 큰 이미지를 너무 작게 렌더링하는 것은 매우 비효율적입니다 – Starscream1984

+0

그래서 컨트롤러에서 미리보기 이미지를 만드는 것이 좋습니다. 나는 이것이 약간의 이미지가 아닌 모든 이미지를 처리하는 데 너무 많은 시간이 걸릴 것이라고 긴장합니다. – DDDD

+0

컨트롤러가 미리보기 이미지를 작성한 다음 저장하면 어떨까요? 그러면 해당 미리보기 이미지가 더 빨리 호출됩니다. – Starscream1984

답변

1

CSS는 이미지 크기를 줄이지 않습니다. 거대한 이미지를 렌더링하는 데 시간이 오래 걸립니다. 거대한 이미지를 다운로드하고 렌더링합니다.

http://www.dzone.com/snippets/easily-generate-thumbnails

+0

+1 좋은 정보, 나는 내 컨트롤러 또는 전체 크기 이미지의 원래 배열에서 모델의 축소판 크기 이미지의 배열을 만들 것입니다. – DDDD

관련 문제