4

我在玻璃上画一个矩形和一个椭圆。

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- 而那个问题涉及*如何在玻璃上绘制不透明的颜色。

也可以看看

4

0 回答 0