我试图画出一个与软的边缘,不论的斜率。

这里的代码,我们迄今为止:

<Line   HorizontalAlignment="Stretch" VerticalAlignment="Center"
        Stretch="Uniform" StrokeThickness="5" X1="0" Y1="0" X2="1" Y2="0">
    <Shape.Stroke>
        <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
            <GradientStop Color="Transparent" Offset="0" />
            <GradientStop Color="Green" Offset="0.5" />
            <GradientStop Color="Transparent" Offset="1" />
        </LinearGradientBrush>
    </Shape.Stroke>
</Line>

这对我来说很有意义,因为该行为水平,线性度梯度是纵向的,与边透明和中间线被固绿色的。

结果是赏心悦目的:

放大所以你可以看到的梯度:
http://img225.imageshack.us/img225/5027/horizontalsoftlinezoomeb.png

然而,当该行为不再水平,梯度为基础计算线的边界矩形,而不是几何的线本身。结果是倾斜线就是阴影垂直方向,而不是梯度正在垂直的线:

任何人都不会知道如何WPF处理软的边缘?我找不到任何东西谷歌上或MSDN,我知道有一个方式做到这一somewhow...

有帮助吗?

解决方案

好吧,我不知道如果这是适用于你的情况,但你可以只需旋转的水平线的使用LayoutTransform和梯度都会好起来的。

<Line   HorizontalAlignment="Stretch" VerticalAlignment="Center"
    Stretch="Uniform" StrokeThickness="5" X1="0" Y1="0" X2="1" Y2="0">
<Shape.Stroke>
    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
        <GradientStop Color="Transparent" Offset="0" />
        <GradientStop Color="Green" Offset="0.5" />
        <GradientStop Color="Transparent" Offset="1" />
    </LinearGradientBrush>
</Shape.Stroke>
    <Line.LayoutTransform>
        <RotateTransform Angle="40"/>
    </Line.LayoutTransform>

其他提示

尝试使用形状而不是一条线

<Path Data="M0,0 L25,25 z" Fill="#FFF4F4F5" StrokeThickness="5" Canvas.Left="122" Canvas.Top="58">
<Path.Stroke>
    <LinearGradientBrush EndPoint="1.135,0.994" StartPoint="-0.177,-0.077">
        <GradientStop Color="Black"/>
        <GradientStop Color="#FF68A8FF" Offset="1"/>
    </LinearGradientBrush>
</Path.Stroke>

Tomer

你可以堆了很多的路径与厚度的增加和减少的色彩,绘制一个超过其他。

所有的路径具有相同的几何形状,应该使用元素结合到 Data 酒店的其中之一。

最可能的是,一些代码隐藏将用来生成路径,和颜色渐变的动态,如果需要的话。

你可以设定 MappingMode="Absolute" 在您的'LinearGradientBrush'.然后你开始刷/端坐标不是相对来的边界框。当然,你必须紧缩的一些三角得到正确的点...

https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.gradientbrush.mappingmode?view=netframework-4.7.2#System_Windows_Media_GradientBrush_MappingMode

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top