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

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

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

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

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

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

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

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

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

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

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

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



Эта библиотека <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 будет инициализирован .. этот процесс выполняется довольно медленно. поэтому он не подходит для интенсивного рабочего процесса.