如何指定希望位图显示在 canvas 上的坐标?

How can you specify the coordinates that you want a bitmap to appear on a canvas?

给定一个位图:

Swamp1 = new BitmapImage(new Uri("pack://application:,,,/Images/Swamp-Corner-Transparent.png"));

如何指定它将出现在 canvas:

上的坐标
<Canvas Grid.Column="2" HorizontalAlignment="Right" Height="822"  VerticalAlignment="Top" Width="1198" Name="MainCanvas">
    <Image  Name="MapBorderSource" />
</Canvas>

我以前做过,但那是很久以前的事了。具体来说,我需要在 Image 'MapBorderSource' 顶部的 Canvas 'MainCanvas' 的坐标 X、Y 处绘制 BitmapImage 'Swamp1'。 PNG 的白色设置为 Alpha 0。

你可以这样指定坐标..

 <Image  Name="MapBorderSource" Canvas.Top="10" Canvas.Left="10" />

在后面的代码中,你会写

var image = new Image
{
    Source = new BitmapImage(new Uri(
        "pack://application:,,,/Images/Swamp-Corner-Transparent.png"));
};
Canvas.SetLeft(image, x);
Canvas.SetTop(image, y);
MainCanvas.Children.Add(image);

如果您需要将新图像直接放在 MapBorderSource 之上,在任何可能的其他子元素之下,您可以写

var index = MainCanvas.Children.IndexOf(MapBorderSource) + 1;
MainCanvas.Children.Insert(index, image);