我在玻璃上画一个矩形和一个椭圆。
brush = new SolidBrush(0xFF000000); //solid (i.e. non-opaque) black
graphics.FillRectangle(brush, x, y, 30, 30);
graphics.FillEllipse(brush, x+33, y-15, 30, 30);
- 用椭圆绘图:它是不透明的
- 用矩形绘图:它不是不透明的
这里发生了什么?
您可以看到同样适用于其他颜色:
brush = new SolidBrush(0xFFff0000); //solid (i.e. non-opaque) red
graphics.FillRectangle(brush, x, y, 30, 30);
graphics.FillEllipse(brush, x, y+33, 30, 30);
brush = new SolidBrush(0xFF00ff00); //solid (i.e. non-opaque) green
graphics.FillRectangle(brush, x, y, 30, 30);
graphics.FillEllipse(brush, x, y+33, 30, 30);
brush = new SolidBrush(0xFF0000ff); //solid (i.e. non-opaque) blue
graphics.FillRectangle(brush, x, y, 30, 30);
graphics.FillEllipse(brush, x, y+33, 30, 30);
brush = new SolidBrush(0xFFffffff); //solid (i.e. non-opaque) white
graphics.FillRectangle(brush, x, y, 30, 30);
graphics.FillEllipse(brush, x, y+33, 30, 30);
结论:为什么:
FillEllipse
用不透明的颜色绘制不透明的FillRectangle
用不透明颜色绘制部分透明
注意:这个问题几乎与我的另一个问题重复。
FillRectangle
除了这个问题侧重于和 之间的区别FillEllipse
- 而那个问题涉及*如何在玻璃上绘制不透明的颜色。