GraphicsPath path1 ;
GraphicsPath path2 ;
Region region1 = new Region(path1);
Region region2 = new Region(path2);
Pen p = new Pen(Color.Red, 5);
path1.Widen(p);
path2.Widen(p);
Region region3 = new Region(path1);
Region region4 = new Region(path2);
Region region5 = region1.Clone();
region1.Intersect(region2);
region1.Intersect(region3);
region2.Intersect(region4);
region2.Intersect(region5);
g.FillRegion(Brushes.Red, region2);
g.FillRegion(Brushes.Green, region1);