I draw a rectangle and an ellipse on the glass.
brush = new SolidBrush(0xFF000000);
- ellipse pattern: opaque
- rectangle pattern: not opaque

What's going on here?
You can see the same thing with other colors:
brush = new SolidBrush(0xFFff0000); //solid (ie non-opaque) red graphics.FillRectangle(brush, x, y, 30, 30); graphics.FillEllipse(brush, x, y+33, 30, 30); brush = new SolidBrush(0xFF00ff00); //solid (ie non-opaque) green graphics.FillRectangle(brush, x, y, 30, 30); graphics.FillEllipse(brush, x, y+33, 30, 30); brush = new SolidBrush(0xFF0000ff); //solid (ie non-opaque) blue graphics.FillRectangle(brush, x, y, 30, 30); graphics.FillEllipse(brush, x, y+33, 30, 30); brush = new SolidBrush(0xFFffffff); //solid (ie non-opaque) white graphics.FillRectangle(brush, x, y, 30, 30); graphics.FillEllipse(brush, x, y+33, 30, 30);

Conclusion : Why:
FillEllipse with Opaque Color Opaque FillEllipseFillRectangle with opaque color draws partially transparent
Note: This question is almost duplicated by my other question . In addition, this question focuses on the difference between FillRectangle and FillEllipse - whereas this question deals with * How to draw opaque colors on glass.
see also