domingo, 3 de fevereiro de 2013

Redimensionar Imagem e mostrar em JLabel

Uma mão segurando uma régua
























Hoje veremos como redimensionar uma imagem e visualizá-la em um JLabel...

import java.awt.Dimension;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;


public class Redimensionar extends JFrame {
 
 /* O método redimensionar retorna uma imagem redimensionada. Vamos agora explicar o significado de cada parâmetro.
   
   [imagePath] é caminho da imagem. exemplo: "/D:/images/myPhoto.png"
   
   [d] é Dimensões da nova imagem, exemplo: 
     Dimension dimensao = new Dimension(largura,comprimento);
     
   [scale] Algoritmo para redimensionar, pode ser um dos seguintes valores :
       java.awt.Image.SCALE_DEFAULT
       java.awt.Image.SCALE_FAST
       java.awt.Image.SCALE_SMOOTH
       java.awt.Image.SCALE_REPLICATE
       java.awt.Image.SCALE_AREA_AVERAGING
 
  */
 
 public Redimensionar(){
  super("Redimensionar");
  setLayout(null);
  
  
  Dimension dimensao = new Dimension(400,400);
  
  ImageIcon img = Redimensionar.redimensionar("/media/Files Bank/Images/Ubuntu /digital_bokeh-wallpaper-1366x768.jpg", dimensao,java.awt.Image.SCALE_DEFAULT);
  JLabel lblImage = new JLabel(img);
  
  lblImage.setBounds(10, 10, 400, 400);
  getContentPane().add(lblImage);
  
  setSize(500,500);
  setVisible(true);
  
 }
 
 

 public static ImageIcon redimensionar(String imagePath, Dimension d,int scale){
  
  //Carrega a imagem 
  ImageIcon img = new ImageIcon(imagePath);
  
  //Redimenciona a imagem usando as dimensões passadas como parâmetro e o respectivo algoritmo
  Image newImg=img.getImage().getScaledInstance(d.width, d.height, scale);
  
  //Gera uma nova Imagem
  ImageIcon img_ = new ImageIcon(newImg);
  
  return img_;
  
 
 }
 
 public static void main(String args[]){
  Redimensionar app = new Redimensionar();
 }

}


Até a próxima.. Juízo....



 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cheap international voip calls