Class SoCoResource

SoCoResource class

类 SoCoResource. 此资源包含有关 Color Fill Layers 的信息

public class SoCoResource : FillLayerResource

构造函数

姓名描述
SoCoResource()初始化一个新的实例SoCoResource类.

特性

姓名描述
Color { get; set; }获取 RGB 颜色 .
override Key { get; }获取图层资源键。
override Length { get; }获取以字节为单位的图层资源长度。
override PsdVersion { get; }获取层资源所需的最小 psd 版本。 0 表示没有限制。
override Signature { get; }获取图层资源签名。

方法

姓名描述
override Save(StreamContainer, int)将资源保存到指定的流容器中。
override ToString()返回一个String代表这个实例.

字段

姓名描述
const TypeToolKey类型工具信息键。

例子

以下示例演示如何编辑 SoCoResource(颜色填充图层的图层资源)

[C#]

string sourceFile = "ColorFillLayer.psd";
string outputFile = "SoCoResource_Edited.psd";

// 将现有图像加载到 PsdImage 类的实例中
var im = (PsdImage)Image.Load(sourceFile);

using (im)
{
    foreach (var layer in im.Layers)
    {
        // FillLayer 的查找
        if (layer is FillLayer)
        {
            var fillLayer = (FillLayer)layer;
            foreach (var resource in fillLayer.Resources)
            {
                // 在图层资源列表中查找SoCoResource
                if (resource is SoCoResource)
                {
                    var socoResource = (SoCoResource)resource;
                    var expectedColor = Color.FromArgb(63, 83, 141);
                    
                    if ((expectedColor.R != socoResource.Color.R) ||
                        (expectedColor.G != socoResource.Color.G) ||
                        (expectedColor.B != socoResource.Color.B) ||
                        (expectedColor.A != socoResource.Color.A))
                    {
                        throw new Exception("Unexpected color");
                    }

                    // 设置 SoCoResource 颜色属性
                    socoResource.Color = Color.Red;
                    break;
                }
            }
            break;
        }
        im.Save(outputFile);
    }
}

也可以看看