Photoshop на веб-сервере для скриптов

Итак, я пытаюсь думать о лучшем способе решения проблемы, которую у меня есть.

Проблема в том, что я создаю множество веб-сайтов для своей работы, и поскольку CSS3 и HTML5 представляют себя мощными, я хочу удалить почти все изображения с моих сайтов. Для значков кнопок и других вещей у меня есть изображение спрайта со всеми значками, на которых я просто перемещаюсь в зависимости от того, какой значок мне нужен. То, что мне нужно, - это перекрасить этот образ динамически на веб-сервере, так что мне не нужно открывать Photoshop и перерисовывать значки вручную.

Я провел некоторое исследование и единственное, с чем я столкнулся, имеет шанс работать так, как я хочу, это Photoshop JavaScript. Мой вопрос заключается в том, как только я написал свой сценарий, и он перекрашивает изображение моей иконки, можно ли это сделать на сервере, поэтому, когда пользователь нажимает кнопку, например, изображение перекрашивается и сохраняется на сервере?

Это потребует установки Photoshop на сервер? Возможно ли это?

1
nl ja de
Итак ... Когда пользователь нажимает элемент страницы, который вы хотите отправить на сервер, запустите приложение для редактирования изображений (размером с Photoshop?), Отредактируйте изображение, сохраните новый файл и верните новое изображение в браузер для отобразить? И это лучше , чем просто иметь спрайт-образ на клиенте, который можно перерисовать, чтобы показать другое изображение?
добавлено автор David, источник
Я бы не использовал Photoshop для задач сервера, потому что он действует как однопоточное приложение для скриптов, поэтому для выполнения этой работы вам понадобится много копий Photoshop. Imagemagick, как было предложено jthomas или другими библиотеками изображений, вероятно, подходит для вашего сервера.
добавлено автор Michael Shopsin, источник
Звучит как работа для imagemagick.org
добавлено автор jthomas, источник
Ну, мне все еще интересно, какой лучший вариант. В конечном итоге идея состоит в том, чтобы создать совершенно новый веб-сайт (с тем же макетом и т. Д., Только разными цветами/логотипами), просто изменив несколько переменных.
добавлено автор andyfurniss, источник
Вправо, я посмотрю на imagemagick. Спасибо, парни.
добавлено автор andyfurniss, источник
Кто-нибудь знает хороший учебник для включения imagemagick в веб-сайт vb.net?
добавлено автор andyfurniss, источник

2 ответы

Photoshop доступен только для Mac или Windows, как вы узнаете.

Насколько я знаю, вы не можете установить Photoshop на Windows Server. (Я попробовал это с CS4 самостоятельно - возможно, он работает с CS6-нотами). Но вы можете установить PS на машину Win 7 за брандмауэром.

Если вы используете компьютер Windows, вы можете использовать COM для автоматизации. Я попробовал, и все получилось.

Я сделал аналогичную вещь, о которой вы думаете, с двумя Mac и PS Javascript (Imagemagick, PIL и т. Д. Не работали на меня, потому что работа была слишком сложной) на веб-странице среднего трафика. Поэтому я не согласен с ответом Майклза.

Первое: подумайте о кешировании изображений и используйте низкое время трассировки для вычисления изображений, которые могут понадобиться в будущем. Это действительно облегчило мне жизнь.

Вторая вещь: эксперимент с размером изображения, разрешением на дюйм и т. Д. Чем меньше изображения - тем быстрее процесс.

Мой рабочий процесс:

  • Веб-сервер пишет в базу данных («Эй, мне нужно новое изображение с именем« путь/bla.jpg »).
  • Ajax-вызов проверяет, присутствует ли изображение. Если нет - покажите «обработчик вашего заполнителя запроса»
  • Скрипт, выполняющийся в бесконечном цикле на mac за брандмауэром, постоянно проверяет, требуется ли новое изображение.
  • Если он находит это, он обновляет базу данных («Mac One будет вычислять это задание»). Это предотвратит переход каждого Mac на новое изображение.
  • Сценарий вызывает Photoshop. Photoshop вычисляет изображение.
  • Скрипт загружает изображение (я использовал rsync) на веб-сервер.
  • ajax-call видит новое изображение и представляет его пользователю.
  • Скрипт базы данных обновлений Mac "успешно создан".

Вам потребуется некоторая логика обработки ошибок и т. Д.

0
добавлено
Я просто установил весь CC Suite на Windows Server 2012 ... Просто добавив в поток, спасибо
добавлено автор Erik Grosskurth, источник

Ухм, эта проблема беспокоила меня уже много лет .. Все, что я всегда хотел, было иметь Photoshop-сервер, который я мог бы поговорить через API и все наладить .. ну .. я построил что-то более близкое ... используя генератор плагин Я могу подключить мысли веб-сокет и вставить JavaScript в Photoshop .. технически вы можете делать все, что можно сделать с помощью руководство по сценарию для фотошоп. ... (Включая манипуляции с существующими PDS)

Эта библиотека https://github.com/Milewski/generator-exporter экспортирует все отмеченные слои со специальным синтаксисом в качестве желаемого формата ... этот код может выполняться на сервере. using nodejs

import { Generator } from 'generator-exporter'
import * as glob from 'glob'
import * as path from 'path'

const files = glob.sync(
    path.resolve(__dirname, '**/*.psd')
);

const generator = new Generator(files, {
    password: '123456',
    generatorOptions: {
        'base-directory': path.resolve(__dirname, 'output')
    }
})


generator.start()
         .then(() => console.log('Here You Could Grab all the generated images and send back to client....'));

однако я бы не рекомендовал использовать это для интенсивного использования со слишком многими параллельными задачами ... потому что ему нужен Photoshop, установленный локально ... Photoshop GUI будет инициализирован .. этот процесс выполняется довольно медленно. поэтому он не подходит для интенсивного рабочего процесса.

0
добавлено
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском