Непонятка с Region.Union()
От: Watashi  
Дата: 08.12.06 22:00
Оценка:
Объесните пожалусто почему код:
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}?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.