我想在WPF中绘制一个矩形(通过代码)并填充其外部。

这是一个例子:

矩形的外部是灰色的(不透明度较低),矩形的填充是透明的。

最佳答案

您还可以使用半透明的Path元素覆盖图像,该元素使用CombinedGeometry将一个非常大的外部矩形与一个内部矩形结合在一起:

<Grid>
    <Image Name="image" Source="C:\Users\Public\Pictures\Sample Pictures\Koala.jpg"/>
    <Path Fill="#AAFFFFFF">
        <Path.Data>
            <CombinedGeometry GeometryCombineMode="Xor">
                <CombinedGeometry.Geometry1>
                    <RectangleGeometry Rect="0,0,10000,10000"/>
                </CombinedGeometry.Geometry1>
                <CombinedGeometry.Geometry2>
                    <RectangleGeometry x:Name="transparentRect" Rect="150,100,200,100"/>
                </CombinedGeometry.Geometry2>
            </CombinedGeometry>
        </Path.Data>
    </Path>
</Grid>

现在,您可以根据需要以编程方式调整Rect成员的transparentRect属性。

关于c# - 填充矩形的外部,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17720970/

10-11 13:28