Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.AlphaComposite;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.image.BufferedImage;
- import java.io.IOException;
- import java.net.URL;
- import javax.imageio.ImageIO;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- public class ChangeColourTest extends JPanel {
- // Main
- public static void main(String[] args) {
- JFrame jf = new JFrame("Test");
- jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- jf.setPreferredSize(new Dimension(150, 150));
- ChangeColourTest cct = new ChangeColourTest( new Color(0xFFFF0000) );
- jf.getContentPane().add(cct, "Center");
- jf.pack();
- jf.setVisible(true);
- }
- // Holders
- private BufferedImage image;
- private Color color;
- // Constructor
- public ChangeColourTest( Color c )
- {
- // Args
- color = c;
- setPreferredSize(new Dimension(150,150));
- // Load the image
- try {
- image = ImageIO.read(new URL("http://i.imgur.com/Pu6iq.png")); /* A black 'S' on a transparent background. */
- } catch (IOException ex) {
- System.err.println("IOException");
- }
- }
- // Override paint compoenent
- @Override
- public void paintComponent(Graphics g)
- {
- Graphics2D g2D = (Graphics2D)g;
- // Paint the test image to the component and change it's colour
- // Fill red
- g2D.setColor(color);
- g2D.fillRect(0, 0, getSize().width, getSize().height);
- // Paint with composite
- g2D.setComposite(AlphaComposite.DstIn);
- g2D.drawImage( image, 0, 0, image.getWidth(), image.getHeight(), 0, 0, image.getWidth(), image.getHeight(), null);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement