Объесните пожалусто почему код:
Region reg = new Region(Rectangle.Empty);
RectangleF[] rects;
reg.Union(new Rectangle(0, 0, 100, 100));
reg.Union(new Rectangle(50, 50, 100, 100));
reg.Union(new Rectangle(120, 50, 10, 100));
rects = reg.GetRegionScans(new Matrix());
дает результат (rects):
[0] {X = 0.0 Y = 0.0 Width = 100.0 Height = 50.0}
[1] {X = 0.0 Y = 50.0 Width = 150.0 Height = 50.0}
[2] {X = 50.0 Y = 100.0 Width = 100.0 Height = 50.0}
а код (поменял местами 4 и 5 строку):
Region reg = new Region(Rectangle.Empty);
RectangleF[] rects;
reg.Union(new Rectangle(0, 0, 100, 100));
reg.Union(new Rectangle(120, 50, 10, 100));
reg.Union(new Rectangle(50, 50, 100, 100));
rects = reg.GetRegionScans(new Matrix());
дает результат:
[0] {X = 0.0 Y = 0.0 Width = 100.0 Height = 50.0}
[1] {X = 0.0 Y = 50.0 Width = 130.0 Height = 50.0}
[2] {X = 50.0 Y = 100.0 Width = 100.0 Height = 50.0}
куда пропадает {X = 130.0 Y = 50.0 Width = 20.0 Height = 50.0}?