Java 如何在两条线之间绘制阴影区域
如何在特定颜色的两条线之间绘制阴影区域Java 如何在两条线之间绘制阴影区域,java,swing,Java,Swing,如何在特定颜色的两条线之间绘制阴影区域 我正在使用Graphics2D.drawLine()来绘制线条,并在线条之间有一个半透明的着色区域。您的想法是错误的。如果要绘制面积,请这样做。之后渲染区域顶部的线条。 可以使用Graphics.drawPolygon渲染区域 有两种方法可以获得半透明效果。最简单的方法(对于纯色)是使用alpha(新颜色(0xaarrggb,true))创建颜色实例,并将其用于绘图。 另一种方法是将Graphics2D.setComposite与AlphaComposit
我正在使用
Graphics2D.drawLine()
来绘制线条,并在线条之间有一个半透明的着色区域。您的想法是错误的。如果要绘制面积,请这样做。之后渲染区域顶部的线条。
可以使用Graphics.drawPolygon渲染区域
有两种方法可以获得半透明效果。最简单的方法(对于纯色)是使用alpha(新颜色(0xaarrggb,true))创建颜色实例,并将其用于绘图。
另一种方法是将Graphics2D.setComposite与AlphaComposite实例一起使用(该方法也会影响不使用颜色的元素的绘制,例如drawImage)。这在 诸如此类的事:
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
Polygon p = new Polygon();
p.addPoint(0,100);
p.addPoint(100,100);
p.addPoint(100,200);
p.addPoint(100,200);
GradientPaint gp = new GradientPaint(0.0f, 100.0f, Color.red,
200.0f, 200.0f, Color.green, true);
g2.setPaint(gp);
g2.fill(p);
}
对于透明度,您需要包括alpha通道的设置
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
alpha));
有关工作示例,请参见我不知道如何操作,但您不能使用比用于绘制线条的颜色更亮的颜色,通过执行类似于您选择的颜色的操作来绘制另一条作为阴影的线条。brighter().brighter或darder().darker(),你更喜欢哪一种。+1另请参见使用半透明渐变颜料的相关内容。