Java tutorial
import java.awt.Button; import java.awt.Graphics; import java.awt.Image; import java.awt.MediaTracker; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.CropImageFilter; import java.awt.image.FilteredImageSource; import java.awt.image.ImageProducer; import javax.swing.JApplet; public class FilterLab extends JApplet implements ActionListener { private Image originalImage, filteredImage; private Button btn = new Button("FILTER"); private CropImageFilter cropFilter = new CropImageFilter(50, 20, 120, 140); public void init() { originalImage = getImage(getDocumentBase(), "e.gif"); MediaTracker tracker = new MediaTracker(this); tracker.addImage(originalImage, 0); try { tracker.waitForAll(); } catch (Exception e) { } filteredImage = originalImage; btn.addActionListener(this); add(btn); } public void actionPerformed(ActionEvent ev) { filter(); repaint(); } private void filter() { ImageProducer producer = originalImage.getSource(); producer = new FilteredImageSource(producer, cropFilter); filteredImage = createImage(producer); } public void paint(Graphics g) { g.drawImage(originalImage, 10, 50, this); g.drawImage(filteredImage, 271, 50, this); } }