Java BufferedImage Show showImageLabel(BufferedImage imagen, JLabel jLabel, JComponent jc)

Here you can find the source of showImageLabel(BufferedImage imagen, JLabel jLabel, JComponent jc)

Description

Muestra una imajen en un JLabel

License

Open Source License

Parameter

Parameter Description
imagen a parameter
jLabel a parameter
jc a parameter

Declaration

public static void showImageLabel(BufferedImage imagen, JLabel jLabel, JComponent jc) 

Method Source Code


//package com.java2s;
//License from project: Open Source License 

import java.awt.*;

import java.awt.image.*;

import java.util.ArrayList;
import java.util.List;

import javax.swing.*;

public class Main {
    /**/*from  ww  w  .  ja v  a 2 s .  co  m*/
     * Muestra una imajen en un JLabel
     *
     * @param imagen
     * @param jLabel
     * @param jc
     */
    public static void showImageLabel(BufferedImage imagen, JLabel jLabel, JComponent jc) {
        BufferedImage imagenReducida = resize(imagen, jc.getWidth(), jc.getHeight());
        ImageIcon icon = new ImageIcon(imagenReducida);

        jLabel.setSize(icon.getIconWidth(), icon.getIconHeight());
        jLabel.setIcon(icon);
        jLabel.setLocation(jc.getWidth() / 2 - jLabel.getWidth() / 2, jc.getHeight() / 2 - jLabel.getHeight() / 2);
    }

    /**
     * Redimensiona un objeto image a una anchura y altura determinada
     *
     * @param img El objeto Image a redimensionar
     * @param width La nueva anchura
     * @param height La nueva altura
     * @return El objeto imagen redimensionado
     */
    public static BufferedImage resize(Image img, int width, int height) {
        // Resize into a BufferedImage
        BufferedImage bimg = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
        Graphics2D bGr = bimg.createGraphics();
        bGr.drawImage(img, 0, 0, width, height, null);
        bGr.dispose();
        return bimg;
    }

    /**
     * Redimensiona las imagenes de una lista de imagenes
     *
     * @param list La lista de imagenes
     * @param width El ancho
     * @param height El alto
     * @return La lista de imagenes redimensionadas
     */
    public static List<BufferedImage> resize(List<Image> list, int width, int height) {
        List<BufferedImage> imagesList = new ArrayList<>();
        for (Image image : list) {
            imagesList.add(resize(image, width, height));
        }
        return imagesList;
    }

    /**
     * Obtiene el ancho de una Image
     */
    public static int getWidth(Image imagen) {
        int width = new ImageIcon(imagen).getIconWidth();
        return width;
    }

    /**
     * Obtiene el ancho de un IconImage
     */
    public static int getWidth(ImageIcon imagen) {
        return imagen.getIconWidth();
    }

    /**
     * Obtiene el alto de una Image
     */
    public static int getHeight(Image imagen) {
        int height = new ImageIcon(imagen).getIconHeight();
        return height;
    }

    /**
     * Obtiene el alto de un IconImage
     */
    public static int getHeight(ImageIcon imagen) {
        return imagen.getIconHeight();
    }
}

Related

  1. showImage(BufferedImage image, String title, boolean fitToScreen)
  2. showImage(BufferedImage img)
  3. showImage(BufferedImage img)
  4. showImage(final BufferedImage img, final HashMap inputHandles, final HashMap outputHandles)
  5. showImage(String title, BufferedImage image)