我正在用户界面中绘制一个选项卡。我有我想要的大纲。如何填充该区域?
这是绘制选项卡边框的代码:
val g2 = g.asInstanceOf[Graphics2D]
g2.translate(x, y)
val q = new CubicCurve2D.Float
q.setCurve(0, h, 8, h, 6, 0, 16, 0)
g2.setColor(Color.RED)
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON)
g2.draw(q)
val end = w - 8
g2.drawLine(17, 0, end, 0)
q.setCurve(end, 0, end+10, 0, w, h, w + 8, h)
g2.draw(q)
这是它画的线(红色的):image
我希望能够填充红线的内部。
最佳答案
我不懂 Scala,但在 Java 2D 中,Graphics2D 对象可以填充或绘制任何 Shape 的轮廓。目的。对于一些任意形状,你可以用 GeneralPath 来定义它。对象,例如:
GeneralPath path = new GeneralPath();
path.lineTo(10, 10);
path.lineTo(0, 10);
path.lineTo(0, 0);
graphics.setColor(Color.RED);
graphics.fill(path);
GeneralPath 对象还有绘制贝塞尔曲线和四边形的方法,因此您可以绘制路径,然后选择填充或绘制轮廓。
向 GeneralPath 添加了新链接
关于java - 填充两个 CubicCurve2D.Float 和一条线内的区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3657460/