Как обрезать изображение в веб-браузере с помощью js и сохранить его на сервере? - PullRequest
2 голосов
/ 22 марта 2012

Я ищу какой-нибудь плагин jQuery или что-то подобное.

Например, мне нужно обрезать фотографию на сайте и сохранить результат на сервере.

enter image description here

Я знаю, что лучше сделать это в Adobe Flash, но мне действительно нужно использовать JS.

Ответы [ 3 ]

3 голосов
/ 23 марта 2012

Очень немногие браузеры поддерживают выбор изображения с помощью Javascript и манипулирование им без предварительной загрузки его на сервер. Вместо этого вам необходимо:

  1. Разрешить пользователю загружать изображения на сервер
  2. Когда загрузка будет завершена, измените размер изображения (с помощью PHP) до управляемого размера для браузера для предварительного просмотра
  3. Показать измененное изображение предварительного просмотра в браузере, например, JCrop
  4. После того, как пользователь выберет область обрезки, попросите его нажать «Сохранить»
  5. При сохранении передайте координаты обрезанной области серверу / PHP, чтобы обрезать исходное изображение. Вам придется масштабировать координаты предварительного просмотра до координат исходного изображения.
  6. Сохранение нового образа на диск / S3 / что угодно с помощью PHP

Мне удалось сделать это, даже не используя свой сервер и не заставляя изображение коснуться моего сервера с помощью http://transloadit.com/.. Я использую форму выгрузки Javascript от Transloadit для загрузки на свое серверное хранилище (S3) и использую шаблон, который сохраняет оригинал и размеры для предварительного просмотра. И оригинал, и предварительный просмотр хранятся во временной учетной записи S3, а не в моей. Затем я использую JCrop, чтобы показать пользователю предварительный просмотр. После того, как они выбирают область обрезки, я затем говорю transloadit обрезать исходную фотографию, но с моими координатами обрезки (масштабированными от изображения предварительного просмотра, чтобы соответствовать оригиналу), используя шаблон, который также делает несколько размеров миниатюр. Затем Transloadit сохраняет все изображения в моей учетной записи S3 и сообщает мне URL, где он их сохранил.

2 голосов
/ 22 марта 2012

Выезд jCrop .Это идеально подходит для этого материала.

1 голос
/ 23 марта 2012

Вы ищете JCrop

Вот некоторые демонстрации .

Вот пример , реализующий вPHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...