我对 WPF 非常陌生,并尝试将应用程序从 VB6 移植到 C# 和 XAML。
我现在需要做的是用许多小图像创建一个大图像,这些小图像排列成一系列“瓷砖”。其中一些较小的将有叠加在其上的覆盖层。
在 VB6 中,只需使用 PictureBox 控件的 PaintPicture 方法即可完成平铺和覆盖。
这是我一步一步进行平铺和覆盖的尝试(尽管实际上覆盖可能会提前发生):
ImageDrawing Drawing1 = new ImageDrawing(new BitmapImage(new Uri(@"c:\one.bmp",
UriKind.Absolute)),
new Rect(0, 0, 40, 130));
ImageDrawing Drawing2 = new ImageDrawing(new BitmapImage(new Uri(@"c:\two.bmp",
UriKind.Absolute)),
new Rect(40, 0, 45, 130));
ImageDrawing Drawing3 = new ImageDrawing(new BitmapImage(new Uri(@"c:\overlay.bmp",
UriKind.Absolute)),
new Rect(40, 0, 45, 130));
DrawingGroup myDrawingGroup = new DrawingGroup();
myDrawingGroup.Children.Add(Drawing1);
myDrawingGroup.Children.Add(Drawing2);
myDrawingGroup.Children.Add(Drawing3);
myImage.Source = new DrawingImage(myDrawingGroup);
平铺工作正常,但覆盖是不行的。我想知道是否
- 有人可以向我指出一种完成叠加的方法
- 有人可以指出这是否是进行平铺的最佳方法。
Thanks!!