gpt4 book ai didi

java - AlphaComposite.CLEAR 不起作用

转载 作者:行者123 更新时间:2023-12-02 06:55:42 25 4
gpt4 key购买 nike

我在 JLayeredpane 上有两个 JPanel。其中一个显示 pdf,重叠的一个具有透明背景(我使用了 setOpaque(false))。现在我可以将绘图添加到透明面板,这样看起来我实际上是在注释 pdf。我想要一个橡皮擦工具来删除这些注释。我尝试使用以下代码

@Override
public void draw(Graphics2D g2) {
g2.setPaint(Color.WHITE);
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.CLEAR));
g2.setBackground(new Color(255, 255, 255, 0));
g2.setStroke(new BasicStroke(thickness, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
g2.draw(path);
}

其中路径是由多条线构成的形状。现在,不再在之前的绘图上绘制透明线,而是绘制黑线。我哪里出错了?

最佳答案

请注意 AlphaComposite.CLEAR 的实例,相当于AlphaComposite.Clear ,是一种复合模式,可清除目标的颜色和 Alpha。 “源和目的地都不用作输入。”实际上,您无法使用 CLEAR绘图 。这个example说明了一个常见用法。要获得您想要的效果,请保留未更改图像的副本和 draw()目标上的橡皮擦大小的子图像 BufferedImage随着鼠标移动。

关于java - AlphaComposite.CLEAR 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17414933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com