Поворот изображения с помощью JQuery и PHP - PullRequest
0 голосов
/ 19 апреля 2010

У меня есть список миниатюр! Я могу повернуть изображение с помощью jquery, но после обновления страницы изображение остается прежним! я хочу сделать кнопку Сохранить, чтобы сохранить все отредактированные изображения? как я могу сохранить отредактированное изображение на стороне сервера?

спасибо

Ответы [ 4 ]

3 голосов
/ 19 апреля 2010

Использовать GDs imagerotate на сервере.

Когда клиент закончит вращение, отправьте сообщение AJAX на сервер с идентификатором изображения и углом поворота и вызовите эту функцию.

1 голос
/ 19 апреля 2010

Я недавно написал похожую систему. Общая идея была такой:

  • Изображение загружено на сервер.
  • Сервер сохраняет изображение со случайным уникальным идентификатором в некотором каталоге, делает запись в сеансе пользователя, сохраняя соответствующие данные и имя файла.
  • На передней панели пользователь может выбирать между различными действиями, такими как «повернуть на 90 градусов против часовой стрелки», «применить ч / б фильтр» и т. Д.
  • Эти действия отправляются на сервер через AJAX или POST, это не имеет значения.
  • Сервер добавляет эти «фильтры» в список, сохраненный в сеансе, который может выглядеть примерно так (упрощенно):

    array(
        'iuh98ho98p980' => array(
            'file' => 'xyz.jpg',
            'filters' => array(
                0 => array('type' => 'rotate', 'degree' => 90),
                1 => array('type' => 'grayscale')
                ...
    
  • Чтобы показать изображение пользователю, оно связано со специальным URL-адресом, например
    <img src="outputimage.php?iuh98ho98p980" />.

  • Когда браузер запрашивает URL этого изображения, скрипт outputimage.php динамически генерирует изображение из исходного файла, применяя все фильтры.
    • Изображение также может быть отрендерено отдельным рабочим потоком или, как только фильтр будет применен, что будет лучше.

Чтобы включить кэширование, каждый «вариант» изображения (изображение с применением определенных фильтров) идентифицируется хэшем его фильтров. Сгенерированный «вариант» сохраняется в каталоге кеша. Хеш также добавляется к URL-адресу, поэтому его можно также кэшировать на стороне браузера.

Надеюсь, что вы попадете на правильный путь, я оставлю детали реализации до вас.

0 голосов
/ 19 апреля 2010

Вы не можете сохранить изображение jquery на сервере. Вместо этого вам нужно иметь PHP-скрипт, который фактически выполняет ротацию (jquery используется только для систем с быстрым интерфейсом).

Вы можете использовать GD imagerotate или ImageMagick (который гораздо более мощный)

0 голосов
/ 19 апреля 2010

Быстрый поиск в Google вернул текст ссылки . Это выглядит многообещающе.

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