Java Image Filter createIcon(ImageIcon icon, ImageFilter filter)

Here you can find the source of createIcon(ImageIcon icon, ImageFilter filter)

Description

Create a new icon which is filtered by some ImageFilter

License

Open Source License

Declaration

private static synchronized ImageIcon createIcon(ImageIcon icon, ImageFilter filter) 

Method Source Code


//package com.java2s;
/*/*from ww w  . ja v  a  2 s  .  c  o  m*/
   JMeld is a visual diff and merge tool.
   Copyright (C) 2007  Kees Kuip
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.
   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA  02110-1301  USA
 */

import javax.swing.*;
import java.awt.*;
import java.awt.image.FilteredImageSource;
import java.awt.image.ImageFilter;
import java.awt.image.ImageProducer;

public class Main {
    /** Create a new icon which is filtered by some ImageFilter */
    private static synchronized ImageIcon createIcon(ImageIcon icon, ImageFilter filter) {
        ImageProducer ip;
        Image image;
        MediaTracker tracker;

        if (icon == null) {
            return null;
        }

        ip = new FilteredImageSource(icon.getImage().getSource(), filter);
        image = Toolkit.getDefaultToolkit().createImage(ip);

        tracker = new MediaTracker(new JPanel());
        tracker.addImage(image, 1);
        try {
            tracker.waitForID(1);
        } catch (InterruptedException e) {
            e.printStackTrace();
            return null;
        }

        return new ImageIcon(image);
    }
}

Related

  1. createIcon(ImageIcon icon, ImageFilter filter)
  2. createKC854HiresImageFileFilter()
  3. createQualityResizedImage( Image orginalImage, int width, int height, boolean applySoftFilter, boolean keepRatio, Color bgColor, boolean fast)
  4. filter(ImageIcon image, RGBImageFilter filter)