StrokeEffect.Position
StrokeEffect.Position property
获取或设置描边效果的位置,以控制你的描边与 PSD 图层内容的对齐方式。 的值可以是Inside在 PSD 图层内容内绘制笔划, 或Outside在 PSD 层内容周围绘制描边, 和Center在内部和外部绘制笔划.
public StrokePosition Position { get; set; }
例子
此示例演示了使用不同类型的填充(如颜色、渐变或图案)添加描边效果的能力。
[C#]
using (var psdImage = (PsdImage)Image.Load(srcFile, new PsdLoadOptions() { LoadEffectsResource = true }))
{
StrokeEffect strokeEffect;
IColorFillSettings colorFillSettings;
IGradientFillSettings gradientFillSettings;
IPatternFillSettings patternFillSettings;
// 1. 在 Inside 位置添加颜色填充
strokeEffect = psdImage.Layers[1].BlendingOptions.AddStroke(FillType.Color);
strokeEffect.Size = 7;
strokeEffect.Position = StrokePosition.Inside;
colorFillSettings = strokeEffect.FillSettings as IColorFillSettings;
colorFillSettings.Color = Color.Green;
// 2. 在外部位置添加颜色填充
strokeEffect = psdImage.Layers[2].BlendingOptions.AddStroke(FillType.Color);
strokeEffect.Size = 7;
strokeEffect.Position = StrokePosition.Outside;
colorFillSettings = strokeEffect.FillSettings as IColorFillSettings;
colorFillSettings.Color = Color.Green;
// 3. 在中心位置添加颜色填充
strokeEffect = psdImage.Layers[3].BlendingOptions.AddStroke(FillType.Color);
strokeEffect.Size = 7;
strokeEffect.Position = StrokePosition.Center;
colorFillSettings = strokeEffect.FillSettings as IColorFillSettings;
colorFillSettings.Color = Color.Green;
// 4. 在 Inside 位置添加渐变填充
strokeEffect = psdImage.Layers[4].BlendingOptions.AddStroke(FillType.Gradient);
strokeEffect.Size = 5;
strokeEffect.Position = StrokePosition.Inside;
gradientFillSettings = strokeEffect.FillSettings as IGradientFillSettings;
gradientFillSettings.AlignWithLayer = false;
gradientFillSettings.Angle = 90;
// 5. 在外部位置添加渐变填充
strokeEffect = psdImage.Layers[5].BlendingOptions.AddStroke(FillType.Gradient);
strokeEffect.Size = 5;
strokeEffect.Position = StrokePosition.Outside;
gradientFillSettings = strokeEffect.FillSettings as IGradientFillSettings;
gradientFillSettings.AlignWithLayer = true;
gradientFillSettings.Angle = 90;
// 6. 在中心位置添加渐变填充
strokeEffect = psdImage.Layers[6].BlendingOptions.AddStroke(FillType.Gradient);
strokeEffect.Size = 5;
strokeEffect.Position = StrokePosition.Center;
gradientFillSettings = strokeEffect.FillSettings as IGradientFillSettings;
gradientFillSettings.AlignWithLayer = true;
gradientFillSettings.Angle = 0;
// 7. 在 Inside 位置添加图案填充
strokeEffect = psdImage.Layers[7].BlendingOptions.AddStroke(FillType.Pattern);
strokeEffect.Size = 5;
strokeEffect.Position = StrokePosition.Inside;
patternFillSettings = strokeEffect.FillSettings as IPatternFillSettings;
patternFillSettings.Scale = 200;
// 8. 在外部位置添加图案填充
strokeEffect = psdImage.Layers[8].BlendingOptions.AddStroke(FillType.Pattern);
strokeEffect.Size = 10;
strokeEffect.Position = StrokePosition.Outside;
patternFillSettings = strokeEffect.FillSettings as IPatternFillSettings;
patternFillSettings.Scale = 100;
// 9. 在中心位置添加图案填充
strokeEffect = psdImage.Layers[9].BlendingOptions.AddStroke(FillType.Pattern);
strokeEffect.Size = 10;
strokeEffect.Position = StrokePosition.Center;
patternFillSettings = strokeEffect.FillSettings as IPatternFillSettings;
patternFillSettings.Scale = 75;
psdImage.Save(outputFilePng, new PngOptions());
}