В настоящее время я пытаюсь кодировать пользовательскую систему обрезки изображений, аналогичную другим в Интернете, где пользователь может выбрать область обрезки, а затем соответствующим образом обрезать свое изображение. Приложение находится в Rails, и мы используем Paperclip с Amazon S3 для хранения файлов. У меня много проблем, хотя я получаю RMagick, чтобы соответствующим образом обрезать файл с S3. Вот текущий код (который не работает):
if params[:width].to_i > 0 and params[:height].to_i > 0 then
photo = Photo.find(params[:id])
image_data = Net::HTTP.get_response(URI.parse(photo.photo.url(:big))).body
orig_img = Magick::ImageList.new
orig_img.from_blob(image_data)
args = [params[:x1].to_i, params[:y1].to_i, params[:width].to_i, params[:height].to_i]
orig_img.crop!(*args)
photo.update_attributes({:photo => orig_img.to_blob})
photo.photo.reprocess!
photo.save
end
Основная проблема заключается в том, что обрезанное изображение не загружается обратно на S3 через скрепку и, следовательно, не обрезается должным образом.
Кто-нибудь пробовал что-то подобное с помощью скрепки? Возможно, это даже невозможно, но любая помощь будет принята с благодарностью.