1

グラデーションを使用して固体ブロックに透明な線を描画しようとしています:

<Grid>
    <Border Margin="-102,-27,102,27">
        <Border.Background>
            <LinearGradientBrush EndPoint="517,160" StartPoint="0,160" MappingMode="Absolute">
                <GradientStop Color="#FF2DBCF2" Offset="0"/>
                <GradientStop Color="#FF2DBCF2" Offset="1"/>
                <GradientStop Color="#002DBCF2" Offset="0.0091" />
                <GradientStop Color="#FF2DBCF2" Offset="0.009"/>
                <GradientStop Color="#002DBCF2" Offset="0.015"/>

                <GradientStop Color="#FF2DBCF2" Offset="0.0151"/>

            </LinearGradientBrush>
        </Border.Background>
    </Border>
</Grid>

問題は、ベタ カラー ブロックのギャップのエッジにかすかな退色効果があり、エッジが鮮明さをわずかに失うことです。このかすかな色あせを取り除く方法はありますか?私はそれを回避する方法を見つけることができないようです。

グラデーション拡大

4

2 に答える 2

2

DrawingBrush背景には次のようなものを使用できます。

<Border Margin="-102,-27,102,27">
    <Border.Background>
        <DrawingBrush>
            <DrawingBrush.Drawing>
                <GeometryDrawing Brush="#FF2DBCF2">
                    <GeometryDrawing.Geometry>
                        <GeometryGroup>
                            <RectangleGeometry Rect="0,0,0.01,1"/>
                            <RectangleGeometry Rect="0.015,0,0.985,1"/>
                        </GeometryGroup>
                    </GeometryDrawing.Geometry>
                </GeometryDrawing>
            </DrawingBrush.Drawing>
        </DrawingBrush>
    </Border.Background>
</Border>
于 2013-08-01T12:17:51.803 に答える
1

背景にシャープな線を表示する唯一の方法は、背景として の代わりにImageBrushまたはを使用することです。DrawingBrushLinearGradientBrush

現時点では完全な例を作成することはできませんが、これによりDrawingBrush、バックグラウンドとして を実装する方法を始めることができます。

<Border.Background>
    <DrawingBrush TileMode="Tile" Stretch="None" Viewport="0,0,20,20" ViewportUnits="Absolute">
        <DrawingBrush.Drawing>
            <GeometryDrawing>
                <GeometryDrawing.Pen>
                    <Pen Brush="White"/>
                </GeometryDrawing.Pen>
                <GeometryDrawing.Geometry>
                    <LineGeometry StartPoint="0.3,0"
                                  EndPoint="0.3,20"/>
                </GeometryDrawing.Geometry>
            </GeometryDrawing>
        </DrawingBrush.Drawing>
    </DrawingBrush>
<Border.Background>
于 2013-08-01T12:13:26.630 に答える