Post

Visualizzazione dei post con l'etichetta immagine

Comprimere e convertire immagini in JPG

DOMANDA: Come convertire un'immagine in JPG in Java? RISPOSTA: Java  mette a disposizione diversi oggetti che permettono la conversione di un'immagine in JPG/JPEG e anche la regolazione della compressione (e quindi della qualità). Guardiamo l'esempio TestCompressione , opportunamente commentato per capire tutti i passaggi da intraprendere: package immagini; import java.awt.image.*; import java.io.*; import java.util.Iterator; import javax.imageio.*; import javax.imageio.stream.FileImageOutputStream; import javax.swing.JFileChooser; public class TestCompressione { public static void main(String args[]) throws Exception { BufferedImage immagine = null; // Seleziono il file con finestra di dialogo JFileChooser fileScelto = new JFileChooser("C:\\"); int selezione = fileScelto.showDialog(null, "Seleziona il file da aprire"); if(selezione == JFileChooser.APPROVE_OPTION) immagine = ImageIO.read(fileScelto.getSelectedFile(

Immagini cliccabili

DOMANDA: Come posso creare un'immagine cliccabile che mostra un messaggio? RISPOSTA: Una maniera efficiente, soprattutto se le immagini sono piccole, è quella di utilizzare i JButton a cui applicare l'immagine desiderata tramite ImageIcon . Dopo di che si apre tramite JOptionPane un dialog che mostra il messaggio definito. Da notare come l'implementazione dell' ActionListener sia una inner class. Se dovesse diventare più complessa, si può spostare in una classe a parte. Vediamo com'è implementata la logica del programma con la classe ImageDialog : package immagini; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; public class ImageDialog {    private JFrame frame ;    public ImageDialog(JFrame frame) {   this . frame = frame;    }    public JButton generateButton(String filename, int x, in