将图标添加到图像

时间:2014-02-17 22:35:14

标签: c# wpf

<Image>内的<Border>内有一个<Grid>。我有一个baseMap.png加载到该图像(源)。使用滚轮我可以使用矩阵旋转图像。

我现在想在Image上的任意x,y处添加一个图标(比如说push_pin.png),实际上是通过合并baseMap.png和push_pin.png来构建一个新的Image,后面的偏移是x &安培; y相对于baseMap.png。

一个人怎么做到最好?

戴夫

1 个答案:

答案 0 :(得分:1)

您可以使用Canvas来定位图标,同时在ImageBrush设置中将baseMap.png图片显示为Canvas.Background,如下所示:

<Grid>
    <Border>
        <Canvas>
            <Canvas.Background>
                <ImageBrush ImageSource="/YourAppName;component/Images/baseMap.png" />
            </Canvas.Background>
            <Image Source="/YourAppName;component/Images/push_pin.png"
                Canvas.Left="100" Canvas.Top="100" />  <!-- Positioning -->
        </Canvas>
    </Border>
</Grid>

您可以硬编码图标的位置,或者更好的是,数据绑定到它们。 Canvas.LeftCanvas.Top属性也可用于动画,ImageBrush类具有各种属性,可影响其显示图像的方式。