Tag: 合成

Java – 在paintComponent中使用合成的圆角面板

从最初的问题(下面),我现在提供以下奖励: 基于AlphaComposite的圆角解决方案。 请用JPanel演示。 角落必须完全透明。 必须能够支持JPG绘画,但仍然有圆角 不得使用setClip(或任何剪辑) 必须有不错的表现 希望有人快速选择这个,这似乎很容易。 如果有一个充分解释的原因,为什么永远不会这样做,其他人同意,我也会奖励赏金。 这是我想到的一个示例图像(但使用AlphaComposite ) 原始问题 我一直试图找到一种使用合成来做圆角的方法,非常类似于如何在Java中制作圆角图像或http://weblogs.java.net/blog/campbell/archive/2006/07/ java_2d_tricker.html 。 但是,我没有中间BufferedImage的尝试不起作用 – 圆形目标合成显然不会影响源。 我尝试了不同的东西,但没有任何作用。 应该得到一个圆形的红色矩形,而不是我得到一个正方形。 所以,我有两个问题,真的: 1)有没有办法使这项工作? 2)中间图像是否会实际产生更好的性能? SSCCE: 测试面板TPanel import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.JLabel; public class TPanel extends JLabel { int w = 300; int h = 200; public TPanel() { setOpaque(false); […]

在Java中设置BufferedImage alpha掩码

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