Редактировать многослойные файлы PSD будет непросто. Я бы посоветовал вам сохранить кольцо и каждый из слоев драгоценных камней в виде отдельного файла PNG. Затем вы можете сделать что-то подобное с помощью ImageMagick:
#!/bin/bash
convert ring.png \
\( layer-1.png \( +clone +level-colors red \) -compose Multiply -composite \) -compose overlay -composite \
\( layer-2.png \( +clone +level-colors green \) -compose VividLight -composite \) -compose overlay -composite \
\( layer-3.png \( +clone +level-colors blue \) -compose LinearBurn -composite \) -compose overlay -composite \
\( layer-4.png \( +clone +level-colors "#ffff00" \) -compose Saturate -composite \) -compose overlay -composite \
result.png
Предоставление вам PNG-файла, подобного этому:
![введите здесь описание изображения](https://i.stack.imgur.com/GVGqO.png)
Вы можете поэкспериментировать с режимами наложения, я только что попробовал несколько, которые выглядели смутно приятными для моего глаза. Если вам нужен список всех доступных режимов наложения, вы можете сделать:
identify -list compose
Atop
Blend
Blur
Bumpmap
ChangeMask
Clear
ColorBurn
ColorDodge
Colorize
CopyBlack
CopyBlue
CopyCyan
CopyGreen
Copy
CopyMagenta
CopyOpacity
CopyRed
CopyYellow
Darken
DarkenIntensity
DivideDst
DivideSrc
Dst
Difference
Displace
Dissolve
Distort
DstAtop
DstIn
DstOut
DstOver
Exclusion
HardLight
HardMix
Hue
In
Lighten
LightenIntensity
LinearBurn
LinearDodge
LinearLight
Luminize
Mathematics
MinusDst
MinusSrc
Modulate
ModulusAdd
ModulusSubtract
Multiply
None
Out
Overlay
Over
PegtopLight
PinLight
Plus
Replace
Saturate
Screen
SoftLight
Src
SrcAtop
SrcIn
SrcOut
SrcOver
VividLight
Xor
Я также указал некоторые цвета по имени и один по шестнадцатеричному, так что вы можете увидеть, как это сделать, если хотите.
P.S. Если вы храните все свои изображения в виде файлов PSD, вы всегда можете использовать Adobe ExtendScript для экспорта различных слоев в виде отдельных файлов PNG одним нажатием клавиши...
PPS ImageMagick может извлекать слои из файла PSD, но я извлек слои из вашего файла, и они не все имеют тот же размер, что и фоновое изображение. и я не могу найти их правильное расположение относительно него. Если вы что-то знаете о том, как создавались слои и можно ли сделать их одинакового размера и выровнять по фону, вы можете заменить layer-n.png
в моих примерах на PhotoshopFile.psd[n]
.
PPPS Если вы хотите сделать это на стороне сервера в .NET, вам следует взглянуть на библиотеку .NET для ImageMagick, которую можно найти здесь: https://magick.codeplex.com/. Если вам нужна помощь в переводе приведенных выше команд на C#, вы можете задать вопрос на странице обсуждений.
person
Mark Setchell
schedule
19.02.2015