首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF中的模式刷

WPF中的模式刷
EN

Stack Overflow用户
提问于 2010-12-28 01:11:34
回答 2查看 4.5K关注 0票数 4

我正在努力创造各种笔刷,以填写各种形状或作为背景。下面是我正在努力创建的一些模式:

  1. <<<<>>>>
  2. <|<|<|<|>|>|>|>
  3. ////////
  4. \\
  5. ||||||||

我已经能够用线性梯度创建\\,/,并创建了\/,并创建了\/,并具有一个线性梯度,但前两种方法都给我带来了麻烦。顺便说一下,第二个是三角形。

如有任何建议或帮助,将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-28 01:49:47

您需要使用TileBrush。用Drawing或图像定义一个瓷砖的模式,并使用DrawingBrushImageBrush重复它。关于这个主题的文档相当广泛,这些例子应该会给你一些想法。

票数 5
EN

Stack Overflow用户

发布于 2010-12-28 02:07:22

可以使用绘图画笔创建复合渐变。例如,这里有一个钻石梯度,您可以将其粘贴到窗口中进行测试:

代码语言:javascript
复制
<Window.Background>
    <DrawingBrush>
        <DrawingBrush.Drawing>
            <DrawingGroup>
                <DrawingGroup.Children>
                    <GeometryDrawing>
                        <GeometryDrawing.Geometry>
                            <RectangleGeometry Rect="0,0,100,100"/>
                        </GeometryDrawing.Geometry>
                        <GeometryDrawing.Brush>
                            <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                                <GradientStop Offset="0.0" Color="Black" />
                                <GradientStop Offset="1.0" Color="White" />
                            </LinearGradientBrush>
                        </GeometryDrawing.Brush>
                    </GeometryDrawing>
                    <GeometryDrawing>
                        <GeometryDrawing.Geometry>
                            <RectangleGeometry Rect="100,0,100,100"/>
                        </GeometryDrawing.Geometry>
                        <GeometryDrawing.Brush>
                            <LinearGradientBrush StartPoint="1,0" EndPoint="0,1">
                                <GradientStop Offset="0.0" Color="Black" />
                                <GradientStop Offset="1.0" Color="White" />
                            </LinearGradientBrush>
                        </GeometryDrawing.Brush>
                    </GeometryDrawing>
                    <GeometryDrawing>
                        <GeometryDrawing.Geometry>
                            <RectangleGeometry Rect="0,100,100,100"/>
                        </GeometryDrawing.Geometry>
                        <GeometryDrawing.Brush>
                            <LinearGradientBrush StartPoint="0,1" EndPoint="1,0">
                                <GradientStop Offset="0.0" Color="Black" />
                                <GradientStop Offset="1.0" Color="White" />
                            </LinearGradientBrush>
                        </GeometryDrawing.Brush>
                    </GeometryDrawing>
                    <GeometryDrawing>
                        <GeometryDrawing.Geometry>
                            <RectangleGeometry Rect="100,100,100,100"/>
                        </GeometryDrawing.Geometry>
                        <GeometryDrawing.Brush>
                            <LinearGradientBrush StartPoint="1,1" EndPoint="0,0">
                                <GradientStop Offset="0.0" Color="Black" />
                                <GradientStop Offset="1.0" Color="White" />
                            </LinearGradientBrush>
                        </GeometryDrawing.Brush>
                    </GeometryDrawing>
                </DrawingGroup.Children>
            </DrawingGroup>
        </DrawingBrush.Drawing>
    </DrawingBrush>
</Window.Background>

ASCII图形没有足够的表现力,但也许这就是您所说的<<<>>>的意思:

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4543032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档