Вырезание отверстий в PathGeometry

NextDouble генерирует случайные числа от 0 до 1.

private static Random random = new Random();
public static double GetRandomDouble_BetweenMinusHalfPlusHalf()
{
    return random.NextDouble() - 0.5;
}
6
задан Steffen Opel 3 September 2009 в 19:47
поделиться

1 ответ

О. Он. Идея состоит в том, чтобы создать OpacityMask из Вашего использования дыр DrawingBrush и затем продвинуть его на контексте рисунка прежде, чем привлечь PathGeometry. Что-то вроде этого.

RectangleGeometry r = new RectangleGeometry(graphVisual.Bounds);
GeometryDrawing dr = new GeometryDrawing(Brushes.Black, null, Geometry.Combine(r, bulletHoles, GeometryCombineMode.Exclude, null));
DrawingBrush br = new DrawingBrush(dr);
drawingContext.PushOpacityMask(br);

drawingContext.DrawGeometry(null, new Pen(Brushes.Green, 2), graphVisual);

drawingContext.Pop();
2
ответ дан 17 December 2019 в 20:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: