0

我有一个类似绘画的应用程序,当我移动鼠标时,它会逐条绘制一条线。现在我想用图案图像替换折线轮廓,所以当我在画布中移动鼠标时,它会将该图像重复为折线的轮廓。我已经写了这段代码:

<Canvas x:Name="canvas" Background="#00FFFFFF" MouseMove="Canvas_MouseMove">
    <Polyline x:Name="polyline" StrokeThickness="20">
        <Polyline.Stroke>
            <VisualBrush >
                <VisualBrush.Visual>
                    <Image Source="1.png"></Image>
                </VisualBrush.Visual>
            </VisualBrush>
        </Polyline.Stroke>
    </Polyline>
</Canvas> 

唯一的问题是它使用图像作为整个画布的不可见背景,当我移动鼠标时,部分背景变得可见!看这张照片就明白我的意思了:

http://goo.gl/2wPKN

如果您想看看,这也是我的图像模式:

http://goo.gl/staHt

那么你知道我应该如何使用这个图像作为我的折线轮廓吗?

4

2 回答 2

0

您可以将 aImageBrushTileModeset toTile和 a一起使用Viewport,以指定所需的图像平铺大小。

<Polyline x:Name="polyline" StrokeThickness="20">
    <Polyline.Stroke>
        <ImageBrush ImageSource="1.png" TileMode="Tile"
                    ViewportUnits="Absolute" Viewport="0,0,20,20"/>
    </Polyline.Stroke>
</Polyline>
于 2013-02-28T18:19:27.813 回答
0

我没有用折线试过它,但你可以用一条路径来设置它的笔触。

<Path StrokeThickness="10" Data="M 10,10 100,10" Stretch="Fill" Margin="81,36,251,100">
   <Path.Stroke>
        <ImageBrush ImageSource="1.png" Viewport="0,0,1,1" TileMode="Tile"/>
   </Path.Stroke>
</Path>
于 2013-02-28T16:26:59.267 回答