Mega Code Archive

 
Categories / Java / Advanced Graphics
 

Creating a Image Zoomer using Graphics2D

import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import javax.swing.JPanel; class ImagePanel extends JPanel {   private double zoom = 1.0;   private double percentage;   private Image image;   public ImagePanel(Image image, double zoomPercentage) {     this.image = image;     percentage = zoomPercentage / 100;   }   public void paintComponent(Graphics grp) {     Graphics2D g2D = (Graphics2D) grp;     g2D.scale(zoom, zoom);     g2D.drawImage(image, 0, 0, this);   }   public void setZoomPercentage(int zoomPercentage) {     percentage = ((double) zoomPercentage) / 100;   }   public void originalSize() {     zoom = 1;   }   public void zoomIn() {     zoom += percentage;   }   public void zoomOut() {     zoom -= percentage;     if (zoom < percentage) {       if (percentage > 1.0) {         zoom = 1.0;       } else {         zoomIn();       }     }   } }