Рельсы 3: обрезка отображения изображения на лету - PullRequest
0 голосов
/ 13 сентября 2011

Мне было интересно, делал ли кто-нибудь что-нибудь, что позволяло бы пользователю изменять обрезку изображения на лету?

Я представляю себе, как пользователь загружает фотографию, которая не обрезается, и когда фотография отображается на панели инструментов, он может выбрать параметр «Обрезать изображение» и выбрать прямоугольную область изображенияоднако отображаемое изображение не обрезается, и пользователь может повторить это и отобразить другой раздел той же фотографии.Кто-нибудь когда-либо делал это или имеет представление о том, как это можно сделать?Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 13 сентября 2011

Стрекоза делает это.

Это платформа Rack с оперативной обработкой изображений в качестве одного из основных пунктов. Основное использование:

class Album < ActiveRecord::Base
  image_accessor :cover_image
end

<%= image_tag @album.cover_image.url %>
<%= image_tag @album.cover_image.thumb('400x200#').url %>
<%= image_tag @album.cover_image.jpg.url %>
<%= image_tag @album.cover_image.process(:greyscale).encode(:tiff).url %>

Чтобы ваш пример работал, вы наверняка могли бы использовать любой инструмент обрезки и передавать аргументы на сервер для создания нескольких многократно используемых "кадрированных" или других представлений (обратите внимание на оттенки серого и т. Д.).

0 голосов
/ 13 сентября 2011

Вы можете использовать этот плагин jquery в качестве интерфейса http://code.google.com/p/jcrop/, и вы должны посмотреть этот Railscast: http://railscasts.com/episodes/182-cropping-images, чтобы узнать, как он работает "под капотом":)

...