Class LclrResource
LclrResource class
Class LclrResource. 此资源包含有关图层列表中图层颜色的信息是 PS。这只是
public class LclrResource : LayerResource
构造函数
特性
姓名 | 描述 |
---|
Color { get; set; } | 获取或设置图层的颜色。 |
override Key { get; } | 获取图层资源键。 |
override Length { get; } | 获取以字节为单位的图层资源长度。 |
override PsdVersion { get; } | 获取 psd 版本。 |
override Signature { get; } | 获取签名. |
方法
姓名 | 描述 |
---|
override Save(StreamContainer, int) | 将资源保存到指定的流容器中。 |
override ToString() | 返回一个String代表这个实例. |
字段
例子
以下示例演示如何更改 Aspose.PSD 中的工作表颜色突出显示(工作表颜色设置)
[C#]
string sourceFilePath = "AllLclrResourceColors.psd";
string outputFilePath = "AllLclrResourceColorsReversed.psd";
// 在文件中图层高亮的颜色是按照这个顺序的
SheetColorHighlightEnum[] sheetColorsArr = new SheetColorHighlightEnum[] {
SheetColorHighlightEnum.Red,
SheetColorHighlightEnum.Orange,
SheetColorHighlightEnum.Yellow,
SheetColorHighlightEnum.Green,
SheetColorHighlightEnum.Blue,
SheetColorHighlightEnum.Violet,
SheetColorHighlightEnum.Gray,
SheetColorHighlightEnum.NoColor
};
// Layer Sheet Color 用于在视觉上突出显示图层。
// 例如,您可以更新 PSD 中的一些图层,然后用颜色突出显示您想要引起注意的图层。
using (PsdImage img = (PsdImage)Image.Load(sourceFilePath))
{
CheckSheetColorsAndRerverse(sheetColorsArr, img);
img.Save(outputFilePath, new PsdOptions());
}
using (PsdImage img = (PsdImage)Image.Load(outputFilePath))
{
// 颜色应该反转
Array.Reverse(sheetColorsArr);
CheckSheetColorsAndRerverse(sheetColorsArr, img);
}
void CheckSheetColorsAndRerverse(SheetColorHighlightEnum[] sheetColors, PsdImage img)
{
int layersCount = img.Layers.Length;
for (int layerIndex = 0; layerIndex < layersCount; layerIndex++)
{
Layer layer = img.Layers[layerIndex];
LayerResource[] resources = layer.Resources;
foreach (LayerResource layerResource in resources)
{
// lcrl 资源始终出现在 psd 文件资源列表中。
LclrResource resource = layerResource as LclrResource;
if (resource != null)
{
if (resource.Color != sheetColors[layerIndex])
{
throw new Exception("Sheet Color has been read wrong");
}
// 样式表颜色的反转。设置图层颜色高亮。
resource.Color = sheetColors[layersCount - layerIndex - 1];
break;
}
}
}
}
也可以看看