Как добавить эффект на CanvasGeometry - PullRequest
0 голосов
/ 30 августа 2018

Мне кажется, что все эффекты, доступные в Win2D, предназначены для рисования изображения.

А как же CanvasGeometry? Как нарисовать CanvasGeometry, используя, скажем, эффект свечения?

Спасибо.

1 Ответ

0 голосов
/ 03 сентября 2018

Geometry объекты предоставляют средства рисования и манипулирования геометрическими фигурами. Он имеет CreatePolygon, CreatePath метод может быть использован для создания геометрических фигур.

Для получения эффекта свечения вы можете использовать этот пример кода .

private void DoEffect(CanvasDrawingSession ds, Size size, float amount)
{
    size.Width = size.Width - ExpandAmount;
    size.Height = size.Height - ExpandAmount;

    var offset = (float)(ExpandAmount / 2);           

    using (var textLayout = CreateTextLayout(ds, size))
    using (var textCommandList = new CanvasCommandList(ds))
    {
        using (var textDs = textCommandList.CreateDrawingSession())
        {                     
            textDs.DrawTextLayout(textLayout, 0, 0, GlowColor);
        }

         glowEffectGraph.Setup(textCommandList, amount);
         ds.DrawImage(glowEffectGraph.Output, offset, offset);

         ds.DrawTextLayout(textLayout, offset, offset, TextColor);
     }
}
...