画出特殊的背景

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了画出特殊的背景相关的知识,希望对你有一定的参考价值。

在WPF中是否可以通过以下方式绘制窗口的背景:

  • 窗口的背景例如是白色
  • 垂直彩色线条,宽度为20像素,中间有相同大小的间隙,这样就可以获得红色条纹图案
  • 在相同颜色的20像素高度的水平彩色线,在它们之间也具有相同大小的间隙
  • 水平和垂直红线相互重叠的区域应再次显示为白色,这样你就会得到一种方格图案

我知道如何在WPF中绘制线条,我知道如何重复绘制以填充整个背景,但我不知道如何管理具有重叠颜色的部分消失。

答案

不确定差距应该是多大。但是你可以像这样调整DrawingBrush:

<Window.Background>
    <DrawingBrush TileMode="Tile" ViewportUnits="Absolute" Viewport="0,0,100,100">
        <DrawingBrush.Drawing>
            <DrawingGroup>
                <GeometryDrawing Brush="White">
                    <GeometryDrawing.Geometry>
                        <RectangleGeometry Rect="0,0,100,100"/>
                    </GeometryDrawing.Geometry>
                </GeometryDrawing>
                <GeometryDrawing
                    Geometry="M50,0 L50,40 M50,60 L50,100 M0,50 L40,50 M60,50 L100,50">
                    <GeometryDrawing.Pen>
                        <Pen Brush="Red" Thickness="20"/>
                    </GeometryDrawing.Pen>
                </GeometryDrawing>
            </DrawingGroup>
        </DrawingBrush.Drawing>
    </DrawingBrush>
</Window.Background>

或者使用另一个TileMode:

<Window.Background>
    <DrawingBrush TileMode="FlipXY" ViewportUnits="Absolute" Viewport="0,0,50,50">
        <DrawingBrush.Drawing>
            <DrawingGroup>
                <GeometryDrawing Brush="White">
                    <GeometryDrawing.Geometry>
                        <RectangleGeometry Rect="0,0,50,50"/>
                    </GeometryDrawing.Geometry>
                </GeometryDrawing>
                <GeometryDrawing Geometry="M0,45 L40,45 M45,0 L45,40">
                    <GeometryDrawing.Pen>
                        <Pen Brush="Red" Thickness="10"/>
                    </GeometryDrawing.Pen>
                </GeometryDrawing>
            </DrawingGroup>
        </DrawingBrush.Drawing>
    </DrawingBrush>
</Window.Background>

以上是关于画出特殊的背景的主要内容,如果未能解决你的问题,请参考以下文章

css(背景)画出纵向的一条线 - 纯css3纵向时间轴

炫酷 CSS 背景效果的 10 个代码片段

如何在 MS Word 文档中显示代码片段,因为它在 *** 中显示(滚动条和灰色背景)

MATLAB | 老版本也能用,默认设置让简单的代码画出炫酷的图像

MATLAB | 老版本也能用,默认设置让简单的代码画出炫酷的图像

我可以用 CSS 画出像命运之轮这样的东西吗?