0
我在<Grid>
内的<Border>
内有<Image>
。我有一个baseMap.png加载到该图像(来源)。使用滚轮我可以使用矩阵旋转图像。将图标添加到图像
我现在想在图像上的任意x,y上添加一个图标(例如push_pin.png),实际上是通过合并baseMap.png和push_pin.png来创建一个新图像,稍后将偏移一些x & y相对于baseMap.png。
如何做到最好?
戴夫
我在<Grid>
内的<Border>
内有<Image>
。我有一个baseMap.png加载到该图像(来源)。使用滚轮我可以使用矩阵旋转图像。将图标添加到图像
我现在想在图像上的任意x,y上添加一个图标(例如push_pin.png),实际上是通过合并baseMap.png和push_pin.png来创建一个新图像,稍后将偏移一些x & y相对于baseMap.png。
如何做到最好?
戴夫
你可以使用一个Canvas
定位的图标,而在ImageBrush
设定为Canvas.Background
这样显示baseMap.png
图像:
<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.Left
和Canvas.Top
属性也可以用在动画中,并且ImageBrush
类具有各种属性以影响它如何显示图像。
我需要能够平移/缩放/旋转baseMap ...以及它的图标... ImageBrush可以平移/缩放/旋转吗?如果我需要添加多个图标和线条,该怎么办? – davecove
'ImageBrush'就像你的原始元素的副本。如果你旋转你的原始图像,'ImageBrush'也会旋转。如果将包含多个形状的“Visual”传递给“ImageBrush”,则ImageBrush将显示多个形状。阅读链接页面以获取更多信息。 – Sheridan
我仍然在这里失踪。假设我有一张美国地图作为您的建议背景。然后我使用画布在纽约市上放置图钉图形。这似乎很好。现在我使用矩阵将背景逆时针旋转45度。图钉如何跟随纽约? – davecove