Interface IPatternFillSettings

IPatternFillSettings interface

图案填充设置界面

public interface IPatternFillSettings : IFillSettings

特性

姓名描述
HorizontalOffset { get; set; }获取或设置水平偏移量。
Linked { get; set; }获取或设置一个值,指示是否这IPatternFillSettings链接.
PatternData { get; set; }获取或设置模式数据。
PatternHeight { get; set; }获取或设置图案的高度。
PatternId { get; set; }获取或设置模式标识符。
PatternName { get; set; }获取或设置模式的名称。
PatternWidth { get; set; }获取或设置图案的宽度。
PointType { get; set; }获取或设置点的类型。
Scale { get; set; }获取或设置比例。
VerticalOffset { get; set; }获取或设置垂直偏移量。

例子

下面的代码保存带有图案填充图层的图像,并演示 Aspose.PSD 如何渲染图案。

[C#]

string sourceFile = "sample.psd";
string outputFile = "sample_out.psd";
string outputPngFile = "sample_out.png";

// 将现有图像加载到 PsdImage 类的实例中
using (var image = (PsdImage)Image.Load(sourceFile))
{
    foreach (var layer in image.Layers)
    {
        if (layer is FillLayer)
        {
            var fillLayer = (FillLayer)layer;
            var settings = (IPatternFillSettings)fillLayer.FillSettings;
            settings.HorizontalOffset = -5;
            settings.VerticalOffset = 12;
            settings.Scale = 300;
            settings.Linked = true;
            settings.PatternData = new int[]
                                       {
                                           Color.Black.ToArgb(), Color.Red.ToArgb(),
                                           Color.Green.ToArgb(), Color.Blue.ToArgb(),
                                           Color.White.ToArgb(), Color.AliceBlue.ToArgb(),
                                           Color.Violet.ToArgb(), Color.Chocolate.ToArgb(),
                                           Color.IndianRed.ToArgb(), Color.DarkOliveGreen.ToArgb(),
                                           Color.CadetBlue.ToArgb(), Color.YellowGreen.ToArgb(),
                                           Color.Black.ToArgb(), Color.Azure.ToArgb(),
                                           Color.ForestGreen.ToArgb(), Color.Sienna.ToArgb(),
                                       };

            settings.PatternHeight = 4;
            settings.PatternWidth = 4;

            settings.PatternName = "$$$/Presets/Patterns/ColorfulSquare=Colorful Square New\0";
            settings.PatternId = Guid.NewGuid().ToString() + "\0";

            fillLayer.Update();
            break;
        }
    }

    image.Save(outputFile, new PsdOptions(image));
    image.Save(outputPngFile, new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}

也可以看看