所以,我正在考虑解决问题的最佳方法。
问题在于我为自己的工作制作了很多网站,而CSS3和HTML5自我介绍功能强大,我希望从我的网站中删除几乎所有图像。对于按钮图标和各种其他东西,我有一个带有所有图标的精灵图像,我只是根据我需要的图标移动。我需要做的是在Web服务器上动态地重新着色此图像,这样我就不必打开Photoshop并手动重新着色图标。
我做了一些研究,我遇到过的唯一有机会以我想要的方式工作的是Photoshop JavaScript。我的问题是,一旦我编写了我的脚本并重新显示了我的图标图像,它是否可以在服务器上完成,因此,当用户点击按钮时,图像会重新着色并保存到服务器上?
这是否需要在服务器上安装Photoshop?这甚至可能吗?
答案 0 :(得分:0)
如您所知,Photoshop仅适用于Mac或Windows。
据我所知,您无法在Windows Server上安装Photoshop。 (我自己尝试使用CS4 - 也许它适用于CS6知识)。但是你可以在防火墙后面的Win 7机器上安装PS。
如果您使用Windows机器,则可以使用COM进行自动化。我试过了,效果很好。
我在一个中等流量的网页上用两个Mac和PS Javascript(Imagemagick,PIL等不适合我,因为工作太复杂)做了一个类似的事情。所以我不同意迈克尔斯的回答。
第一件事:考虑缓存图像并使用低流量时间来计算将来可能需要的图像。这对我来说真的很容易。
第二件事:尝试图像大小,dpi等。图像越小 - 过程越快。
我的工作流程是:
您将需要一些错误处理逻辑等。
答案 1 :(得分:0)
嗯这个问题多年来一直困扰着我...我总是希望有一个Photoshop服务器,我可以通过API进行交谈并完成任务......好吧......我已经建立了更接近的东西......使用生成器插件我可以连接思想一个网络套接字并在Photoshop中注入javascript。从技术上讲,你可以做任何可以使用photoshop scripting guide.完成的任务......(包括操纵现有的PDS)
此库https://github.com/Milewski/generator-exporter使用特殊语法导出所有标记的图层作为其所需格式... 此代码可以在服务器上运行..使用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将被初始化..这个过程非常慢。所以它并不适合繁忙的工作流程。