Java: Créer le reflet d’une image

Author:

 set, swing, awt, JFrame
{filelink=10280}

         

import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;
import javax.swing.JComponent;
import javax.swing.JFrame;

public class RefletImage extends JComponent {
  public void paintComponent(Graphics g) {
    try {
      BufferedImage image = ImageIO.read(new File("c:/image.gif"));
      Graphics2D g2d = (Graphics2D) g;
      int width = getWidth();
      int height = getHeight();
      int imageWidth = image.getWidth();
      int imageHeight = image.getHeight();
      int gap = 20;
      float opacity = 0.4f;
      float fadeHeight = 0.3f;


      BufferedImage reflet = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_ARGB);
      Graphics2D rg = reflet.createGraphics();
      rg.drawRenderedImage(image, null);
      rg.setComposite(AlphaComposite.getInstance(AlphaComposite.DST_IN));
      rg.setPaint(new GradientPaint(0, imageHeight * fadeHeight, new Color(0.0f, 0.0f, 0.0f, 0.0f),
          0, imageHeight, new Color(0.0f, 0.0f, 0.0f, opacity)));

      rg.fillRect(0, 0, imageWidth, imageHeight);
      rg.dispose();
      g2d.drawRenderedImage(reflet, null);
    } catch (Exception e) {

    }
  }

  public static void main(String[] args) {
    JFrame frame = new JFrame("Reflet des images");
    RefletImage cmp = new RefletImage();
    frame.add(cmp);
    frame.setSize(300, 300);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
  }
}

   
    
         

A Voir sur le même Sujet:

  • code source java animation d'image
  • Annimation
  • image
  • code java jfilechooser pour faire un tri image dans un folder image
  • reflet d'une image java
  • jframe examples
  • BufferedImage

Leave a Reply

Your email address will not be published. Required fields are marked *