Tag: alpha

AlphaComposite透明度与重绘重叠为黑色

所以我在另一个面板上有一个图像,该图像是透明的,因此您可以看到它下面的面板。 我要做的是使用repaint()淡化图像(使用java.awt.Graphics中的drawImage()方法绘制),直到它完全透明,这样你就可以清楚地看到它下面的面板。 截至目前,图像只是淡入黑色而不是透明纹理。 这是我现在的一些代码: paintComponent方法: public void paintComponent(Graphics g) { super.paintComponent(g); float alpha = 1f-(.01f*(float)opcounter); Graphics2D g2d = (Graphics2D)g; g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_IN, alpha); g2d.drawImage(img, 0, 0, null); } 为定时器调用的actionPerformed方法 public void actionPerformed(ActionEvent e) { opcouner++; panel.repaint(); } 我的代码的更长(无凝聚)版本:(包括用于计时器的paintComponent和Mover类) public void paintComponent(Graphics g) { super.paintComponent(g); Dimension framesize = frame.getSize(); this.setBounds(0,0,framesize.width, framesize.height-61); if (buff) { //this.add(buffer); if (opcounter <= […]

Java:从BufferedImage中提取Alpha通道

我想从缓冲图像中提取Alpha通道,并使用灰度将其绘制在单独的图像中。 (就像它在photoshop中显示)

我可以在java中从左到右进行图像alpha淡化吗?

我正在制作一个游戏,并希望从左到右让单个图像“淡入淡出”,图像的左侧部分的alpha值为1.0,右侧的alpha值为0.0。 (注意:我不希望它随着时间的推移改变它的样子,如淡入或淡出,但只是从左到右渐渐变化并保持不变)。 尝试绘制我想要的最终结果如下所示: lll lll ll ll lllll lll lll ll ll lllll lll lll ll ll lllll lll lll ll ll lllll lll lll ll ll lllll lll lll ll ll lllll ‘l’的密度代表alpha 我目前正在使用TYPE_INT_RGB的缓冲图像,并希望尽可能保持相同。 是否有任何内置的java类可以帮助我做到这一点,或者至少有一种(相对容易的)方法来做我自己无法解决的问题? 编辑:我不希望有任何forms的不透明框架。 我想在另一个BufferedImage上绘制一个BufferedImage(带有alpha渐变)。

在Java中设置BufferedImage alpha掩码

我有两个从pngs加载的BufferedImages。 第一个包含图像,第二个包含图像的alpha蒙版。 我想通过应用alpha蒙版来创建两者的组合图像。 我的google-fu让我失望了。 我知道如何加载/保存图像,我只需要从两个BufferedImages到一个具有正确alpha通道的BufferedImage的位置。