Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Caricare immagini

    Dovrei creare un'applicazione java nella quale caricare delle immagini, ed eventualmente fare degli ingrandimenti. Volevo sapere se esistesse in java un metodo che permettesse di fare ingrandimenti di immagini tramite una specie di funzione zoom.

  2. #2
    Ciao,
    vagamente anche io sto lavorando a una cosa simile. Una cosa che ti potrei consigliare di fare è visualizzare nel tuo applet base la tua immagine in bassa risoluzione, attaccare a un bottone un MouseListener in modo che quando ci clicki sopra si apre un altro frame dove tu possa vedere l'immagine in hd.

    ti posto un codice che piu o meno fa questo.


    codice:
    package mixevent;
    
    
    
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.imageio.ImageIO;
    import java.awt.image.BufferedImage;
    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    import javax.swing.JPanel;
    import com.sun.j3d.utils.behaviors.mouse.MouseBehavior.*;
    
    
    public class myClick2 extends JFrame {
    
    
      JFrame f;
      JPanel p;
      JPanel p2;
      JPanel p3;
      JButton fotoB;
      JPanel fotoP;
      JLabel fotoL;
    
      final int width=700;
      final int height=700;
    
    
        BufferedImage black;
    
    
    
      public static void main(String[] args){
         myClick2 ogg = new myClick2();
      }
    
      public myClick2(){
        f = new JFrame();
        f.setTitle("titolo del frame");
          p = new JPanel();
         JButton b = new JButton("click");
    
                b.addMouseListener(new MyMouseListener() );
         p.add(b, BorderLayout.NORTH);
         p.setSize(width, f.getHeight()*1/5);
    
          f.add(p, BorderLayout.NORTH);
        f.setBackground(Color.LIGHT_GRAY);
    
         f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
    
    
    p2 = new JPanel();
    p2.setSize(f.getWidth(), f.getHeight()*3/5);
    
    
    f.add(p2,BorderLayout.CENTER);
    
    p3= new JPanel();
    p3.setSize(f.getWidth(), f.getHeight()*1/5);
    
    f.add(p3, BorderLayout.SOUTH);
    
    
         f.setSize(width, height);
         f.setVisible(true);
    
    
    
      }
    
    
    
      public class MyMouseListener extends MouseAdapter{
    
               public void mouseClicked(MouseEvent me){
    
                   try {
                      black = ImageIO.read(new File("black.jpg"));
                         } catch (IOException ex) {
               System.err.print(ex);
           }
    
    
                   // Create new (blank) image of required (scaled) size
    
    
    BufferedImage scaledImage = new BufferedImage( black.getWidth(),black.getHeight(), BufferedImage.TYPE_INT_RGB);
    
    // Paint scaled version of image to new image
    
    Graphics2D graphics2D = scaledImage.createGraphics();
    graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    graphics2D.drawImage(black, 0, 0, p2.getWidth(), p2.getHeight(), null);
    
    // clean up
    
    graphics2D.dispose();
    
    
    
               JButton campo1= new JButton("campo1");
    
                  p3.add(campo1, BorderLayout.CENTER);
    
                       Graphics graf = p2.getGraphics();
    
                       Icon x = new ImageIcon(scaledImage);
    
    
                 x.paintIcon(p2,graf, 0, 0);
    
    
                  fotoL = new JLabel();
                  fotoL.setIcon(x);
                  p2.add(fotoL);
    
    
    
    
               }
      }
    
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.