2
我有一个READY图像(图像的颜色是灰色的,它是GIVEN,即我不创建它在Java中,否则我只是动态地改变颜色)。图像形状奇怪,即它不是矩形。我有一个透明部分和“图像内容”部分(一个普通的.png样式)。我只需要使“图像内容”部分变得更暗。我试过如下:有什么办法让Java中的READY .png图片变暗吗?
public class ImageDarkener extends JFrame {
private JButton button;
private JLabel myImage;
public ImageDarkener()
{
createImageDarkener();
}
private void createImageDarkener() {
Container contentPane = getContentPane();
contentPane.setBackground(Color.WHITE);
contentPane.setLayout(null);
contentPane.setSize(900,600);
myImage = new JLabel();
myImage.setIcon(new ImageIcon("myImage.png"));
myImage.setBounds(403,31,200,200);
contentPane.add(myImage);
button = new JButton("Go darker");
button.setBounds(90,400, 100, 100);
contentPane.add(button);
button.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event) {
buttonActionPerformed(event);
}
}
);
setTitle("Image gets darker");
setSize(900,600);
setVisible(true);
setLocationRelativeTo(null);
}
private void buttonActionPerformed(ActionEvent event) {
myImage.darker();
// Here I am stuck...I tried many combinations with darker().....etc.
I need to be able to click the button and myImage should get darker and darker
until it is completely black...
}
public static void main(String args[]) {
ImageDarkener img = new ImageDarkener();
img.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
谢谢你,我投了。它的工作部分...但是,这是我想逃避:我的图像是一个.png文件,即它有一个透明的部分,应该保持透明。但是,这段代码会使透明部分变成黑色......我如何克服这个障碍?这里是myImage.png的公共链接:https://dl.dropbox.com/u/41007907/myImage.png – Buras 2013-04-04 21:59:51
编辑,现在应该工作 - TYPE_INT_ARGB和检查阿尔法 – maszter 2013-04-04 22:08:49
非常感谢,它的工作原理 – Buras 2013-04-04 22:24:40