- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 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/
我在 JLayeredpane 上有两个 JPanel。其中一个显示 pdf,重叠的一个具有透明背景(我使用了 setOpaque(false))。现在我可以将绘图添加到透明面板,这样看起来我实际上是
我遇到了一些本来应该很简单的问题。我正在一个一个地绘制 1% 的不透明盒子。绘制 100 次后,我预计不透明度将达到 100%,但不透明度(alpha 值)收敛到 100% 以下并停止增加。为了演示这
所以我在另一个面板的顶部有一个图像,并且该图像是透明的,因此您可以看到它下面的面板。我想做的是使用 repaint() 淡化图像(使用 java.awt.Graphics 中的 drawImage()
我正在开发一个具有透明缓冲图像的绘画应用程序。我需要执行的任务之一是实现bucketFill 函数。我已经成功地做到了这一点,但是我不能用黑色进行桶填充操作,因为 onClick 事件返回一个点,当您
我是一名优秀的程序员,十分优秀!